sql >> Database >  >> RDS >> Mysql

Kan ik met MySQL Connector/J meerdere query's uitvoeren, gescheiden door puntkomma's?

Met behulp van ; in een query voor de meeste databases werkt niet omdat het meestal geen deel uitmaakt van de syntaxis van de instructie zelf, maar een terminator is voor opdrachtregel- of scriptinvoer om instructies te scheiden. De opdrachtregel of scriptprocessor ziet een puntkomma als het signaal dat de instructie compleet is en naar de server kan worden verzonden.

Ook in JDBC mag een enkele instructie voorbereiden (of uitvoeren) slechts één . zijn feitelijke instructie dus meerdere instructies zijn niet toegestaan ​​en er is dus ook geen puntkomma nodig, en zoals voor sommige (de meeste?) databases maakt de puntkomma geen deel uit van de syntaxis van de instructie, het is gewoon een syntaxisfout om er een te hebben.

Als u meerdere instructies wilt uitvoeren, moet u afzonderlijke uitvoeringen gebruiken. Technisch gezien heeft MySQL een optie om meerdere uitvoeringen te ondersteunen die kunnen worden ingeschakeld door een verbindingseigenschap. Dit gedrag is niet compatibel met de JDBC-specificatie/API en maakt uw code minder draagbaar. Zie allowMultiQueries op Driver/Datasource Class Names, URL-syntaxis en configuratie-eigenschappen voor Connector/J



  1. .NET / Oracle:een script met DDL-instructies programmatisch uitvoeren

  2. pgDash-alternatieven - PostgreSQL-databasebewaking met ClusterControl

  3. MAX() Functie in PostgreSQL

  4. SQL-query om het N-de hoogste salaris uit een salaristabel te vinden