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

Apakah mungkin melakukan ROLLBACK di pemicu MySQL?

Saya menemukan bahwa fungsi ini ada sejak MySQL 5.5 dan tidak berfungsi di rilis sebelumnya.

Pemicu tidak melakukan rollback atau commit. Untuk memulai rollback apa pun, Anda harus memunculkan pengecualian. Dengan demikian perintah insert/update/delete Anda akan dibatalkan. Tindakan rollback atau commit harus dilakukan di sekitar perintah SQL Anda.

Untuk meningkatkan pengecualian Anda, di pemicu XXX Anda (mis.) :

create trigger Trigger_XXX_BeforeInsert before insert on XXX
for each row begin

    if [Test]
    then

      SIGNAL sqlstate '45001' set message_text = "No way ! You cannot do this !";

    end if ;

end ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO PHP mengabaikan opsi ATTR_TIMEOUT untuk MySQL ketika server tidak dapat dijangkau

  2. Kueri SQL:Hapus semua catatan dari tabel kecuali N terbaru?

  3. Bagaimana saya bisa mengimpor file dump MySQL besar (14 GB) ke database MySQL baru?

  4. Membership.Provider untuk mysql di masalah asp.net

  5. Bagaimana cara menjadwalkan fungsi dinamis dengan cron job?