Toto chování může být způsobeno vlastnost připojení
allowMultiQueries=true
. Můj odhad je, že tato vlastnost způsobí, že MySQL rozdělí dotazy na ;
jako oddělovač dotazů a poté je spouštět jako samostatné dotazy, čímž v podstatě narušíte kód pro vytvoření spouštěče.
Jak jste řekli v – nyní odstraněno – odpovězte, že přidání allowMultiQueries=true
ve skutečnosti problém vyřešil (na rozdíl od mého očekávání), problém může být ve skutečnosti poslední ;
ve vašem dotazu. Další věcí, kterou je třeba zkontrolovat, je, zda problém zmizel odstraněním posledního ;
(v END;
) ve vašem skriptu (a bez použití allowMultiQueries=true
). Některé databáze neberou v úvahu ;
být platný na konci příkazu (jelikož je to ve skutečnosti oddělovač samostatných příkazů).
(tato odpověď je založena na mém komentáři výše)