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

Saya ingin pemicu untuk DELETE dari 2 tabel di MySQL

Hapus dari dua tabel sekaligus dengan Pemicu:

Pemicu digunakan untuk menegakkan integritas data dalam tabel. Anda dapat menggunakan pemicu untuk menghapus dari sejumlah tabel sekaligus.

Sebelum menginisialisasi pemicu, kita perlu mengubah operator pembatas mysql sementara karena pemicu menggunakan titik koma ; operator untuk menentukan beberapa perintah sql dalam pemicu.

Langkah 1 Ubah pembatas saat ini:

delimiter $$

Langkah 2 Buat pemicu:

CREATE TRIGGER `blog_before_delete`     
  AFTER DELETE ON `blog`     
  FOR EACH ROW     
BEGIN
  DELETE FROM blog_tags where blogid = OLD.id;
  DELETE FROM blog_comments where blogid = OLD.id;
END
$$

Langkah 3 Pulihkan pembatas sebelumnya:

delimiter ;

Penjelasan:

OLD adalah kata kunci bawaan dan mengacu pada baris tabel blog yang kami hapus. Mysql menjalankan pemicu blog_before_delete setiap kali kami menghapus entri di tabel blog. Jika pemicunya gagal, maka penghapusan dibatalkan. Ini membantu memastikan Atomicity, Consistency, Isolation, dan Durability dalam database kami.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL LOAD_FILE mengembalikan NULL

  2. Menggunakan SQLAlchemy ORM untuk id non-primary key, unik, dan bertambah secara otomatis

  3. Pertanyaan MySQL

  4. Menggunakan SQL JOIN dan COUNT

  5. Apakah urutan kondisi dalam klausa WHERE memengaruhi kinerja MySQL?