sql >> Databasteknik >  >> RDS >> Mysql

Kan jag köra flera frågor separerade med semikolon med MySQL Connector/J?

Använder ; i en fråga för de flesta databaser fungerar inte eftersom det vanligtvis inte är en del av själva satssyntaxen, utan en terminator för kommandorads- eller skriptinmatning till separata satser. Kommandoraden eller skriptprocessorn ser ett semikolon som signalen om att satsen är komplett och kan skickas till servern.

Också i JDBC bör en enstaka sats preparera (eller exekvera) bara vara en faktisk sats så att flera satser inte är tillåtna och så det finns inte heller något behov av att ha semikolon, och för vissa (de flesta?) databaser är semikolonet inte en del av satssyntaxen, det är helt enkelt ett syntaxfel att ha en inkluderad.

Om du vill köra flera satser måste du använda separata körningar. Tekniskt sett har MySQL ett alternativ för att stödja flera körningar som kan aktiveras av en anslutningsegenskap. Detta beteende är inte kompatibelt med JDBC-specifikationen/API och gör din kod mindre portabel. Se allowMultiQueriesKlassnamn för drivrutiner/datakällor, URL-syntax och konfigurationsegenskaper för Connector/J



  1. En guide till att använda pgBouncer för PostgreSQL

  2. Mysql eller/och prioritet?

  3. java.security.AccessControlException:åtkomst nekad (java.security.SecurityPermission authProvider.SunMSCAPI)

  4. Finns det en Max-funktion i SQL Server som tar två värden som Math.Max ​​i .NET?