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

Pemicu MySQL - AFTER INSERT trigger + UDF sys_exec() masalah

Bahkan jika Anda menggunakan pemicu AFTER, baris belum di-commit. Tetapi sys_exec() tidak kembali sampai skrip php keluar, sehingga pemicu AFTER tidak dapat diselesaikan, oleh karena itu Anda juga tidak dapat melakukan INSERT.

Ini adalah dengan desain. Lagi pula, Anda dapat melakukan lebih banyak operasi dalam transaksi yang sama, atau Anda dapat membatalkan transaksi. Itulah masalahnya dengan memanggil proses eksternal dari pemicu:proses eksternal tidak dapat melihat data dalam cakupan transaksi di database.

Anda seharusnya tidak melakukan tugas ini dengan pemicu. Paling-paling, Anda harus menggunakan pemicu untuk mengatur kolom "bendera" dan kemudian menulis proses eksternal untuk mencari baris dengan kumpulan tanda dan kemudian memanggil skrip PHP itu. Dengan begitu hanya baris yang telah berhasil dimasukkan DAN dikomit yang akan diproses.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grup MySQL Berdasarkan Baris Berturut-turut

  2. Masalah Basis Data UTF-8

  3. Bagaimana cara menghubungkan database MySQL menggunakan Python+SQLAlchemy dari jarak jauh?

  4. MySQL Hapus semua baris dari tabel dan setel ulang ID ke nol

  5. tidak dapat mengubah tabel, Tabel 'xxx/#sql-ib265' sudah ada