Denne adfærd kan være forårsaget af forbindelsesegenskab
allowMultiQueries=true
. Mit gæt er, at denne egenskab vil få MySQL til at opdele forespørgsler på ;
som en forespørgselsseparator, og kør derefter dem som separate forespørgsler, hvilket i det væsentlige bryder din trigger-oprettelseskode.
Som du sagde i et - nu slettet - svar, at tilføjelse af allowMultiQueries=true
faktisk løste problemet (i modsætning til min forventning), problemet kan faktisk være det sidste ;
i din forespørgsel. Så en anden ting at tjekke er, om problemet forsvinder ved at fjerne den sidste ;
(i END;
) i dit script (og ikke bruger allowMultiQueries=true
). Nogle databaser overvejer ikke ;
at være gyldig i slutningen af et udsagn (da det faktisk er en afgrænsning til separate udsagn).
(dette svar er baseret på min kommentar ovenfor)