sql >> Databáze >  >> RDS >> Mysql

Mohu provést více dotazů oddělených středníkem pomocí MySQL Connector/J?

Pomocí ; v dotazu pro většinu databází nefunguje, protože obvykle není součástí samotné syntaxe příkazu, ale je zakončením příkazového řádku nebo skriptu pro samostatné příkazy. Příkazový řádek nebo skriptový procesor vidí středník jako signál, že příkaz je kompletní a lze jej odeslat na server.

Také v JDBC by jeden příkaz připravit (nebo spustit) měl být pouze jeden skutečný příkaz, takže více příkazů není povoleno, a proto také není potřeba mít středník, a jako u některých (většiny?) databází středník není součástí syntaxe příkazu, je to prostě syntaktická chyba aby byl jeden zahrnut.

Pokud chcete provést více příkazů, musíte použít samostatné spuštění. Technicky má MySQL možnost podporovat vícenásobné spouštění, které lze povolit vlastností připojení. Toto chování není v souladu se specifikací/API JDBC a činí váš kód méně přenosným. Viz allowMultiQueries na názvy tříd ovladačů/zdrojů dat, Vlastnosti syntaxe a konfigurace adresy URL pro konektor/J



  1. Používejte relační databáze MySQL na Fedoře 12

  2. Jak změnit řazení na úrovni serveru spuštěné instance SQL Server

  3. Vzory šablon a modifikátory pro formátování data/času v PostgreSQL

  4. Poddotaz Oracle nevidí proměnnou z vnějšího bloku o 2 úrovně výše