Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pengecualian sintaks pada pemicu dengan banyak pernyataan dengan MySQL dan JDBC

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)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana tabel ini terkait?

  2. Konversikan Mysql latin1_swedish_ci ke utf8_bin

  3. Dapatkan perbedaan antara dua tabel?

  4. Tidak dapat mendeteksi nilai nol dari JSON_EXTRACT

  5. Indeks InnoDB sebelum dan sesudah mengimpor