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)