Dit gedrag kan worden veroorzaakt door de verbindingseigenschap
allowMultiQueries=true
. Ik vermoed dat deze eigenschap ervoor zorgt dat MySQL zoekopdrachten op de ;
. opsplitst als een scheidingsteken voor query's en voer deze vervolgens uit als afzonderlijke query's, waardoor in feite de code voor het maken van een trigger wordt verbroken.
Zoals je zei in een - nu verwijderd - antwoord dat het toevoegen van allowMultiQueries=true
het probleem daadwerkelijk heeft opgelost (in tegenstelling tot mijn verwachting), is het probleem misschien de laatste ;
in uw vraag. Dus een ander ding om te controleren is of het probleem verdwijnt door de laatste ;
. te verwijderen (in END;
) in uw script (en niet met allowMultiQueries=true
). Sommige databases houden geen rekening met ;
om geldig te zijn aan het einde van een verklaring (omdat het eigenlijk een scheidingsteken is om verklaringen te scheiden).
(dit antwoord is gebaseerd op mijn opmerking hierboven)