Dieses Verhalten kann durch verursacht werden Verbindungseigenschaft
allowMultiQueries=true
. Meine Vermutung ist, dass diese Eigenschaft MySQL dazu bringt, Abfragen auf ;
aufzuteilen als Abfragetrennzeichen und führen Sie diese dann als separate Abfragen aus, wodurch Ihr Triggererstellungscode im Wesentlichen beschädigt wird.
Wie Sie in einer - jetzt gelöschten - Antwort gesagt haben, fügen Sie allowMultiQueries=true
hinzu das Problem tatsächlich gelöst hat (entgegen meiner Erwartung), könnte das Problem tatsächlich der letzte ;
sein in deiner Anfrage. Überprüfen Sie also auch, ob das Problem durch Entfernen des letzten ;
behoben wird (in END;
) in Ihrem Skript (und nicht mit allowMultiQueries=true
). ). Einige Datenbanken berücksichtigen ;
nicht am Ende einer Anweisung gültig sein (da es eigentlich ein Trennzeichen für getrennte Anweisungen ist).
(Diese Antwort basiert auf meinem Kommentar oben)