Perilaku ini mungkin disebabkan oleh properti koneksi
allowMultiQueries=true . Dugaan saya adalah properti ini akan membuat MySQL memecah kueri di ; sebagai pemisah kueri, lalu jalankan kueri tersebut sebagai kueri terpisah, yang pada dasarnya merusak kode pembuatan pemicu Anda.
Seperti yang Anda katakan di - sekarang dihapus - jawab dengan menambahkan allowMultiQueries=true benar-benar memecahkan masalah (berlawanan dengan harapan saya), masalahnya mungkin sebenarnya adalah ; terakhir dalam kueri Anda. Jadi hal lain yang perlu diperiksa adalah apakah masalahnya hilang dengan menghapus ; . terakhir (di END; ) di skrip Anda (dan tidak menggunakan allowMultiQueries=true ). Beberapa database tidak mempertimbangkan ; menjadi valid di akhir pernyataan (karena sebenarnya merupakan pembatas untuk pernyataan terpisah).
(jawaban ini berdasarkan komentar saya di atas)