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)