Rumah  >  Artikel  >  pangkalan data  >  Terokai cara mencipta dan memadam pencetus dalam MySQL

Terokai cara mencipta dan memadam pencetus dalam MySQL

PHPz
PHPzasal
2023-04-19 14:11:12899semak imbas

Pencetus dalam MySQL ialah jenis prosedur tersimpan khas Ia adalah satu set tindakan berkaitan jadual yang boleh dilaksanakan secara automatik apabila operasi yang telah ditetapkan berlaku, seperti apabila operasi PADAM, KEMASKINI atau INSERT dilakukan pada jadual. . Pencetus boleh menyediakan pembangun dengan pilihan pengaturcaraan yang fleksibel dengan mentakrifkan sintaks khas pada jadual. Artikel ini akan meneroka cara mencipta dan memadam pencetus dalam MySQL.

Buat pencetus MySQL

Untuk mencipta pencetus dalam MySQL anda perlu menggunakan pernyataan CREATE TRIGGER, sintaksnya adalah seperti berikut:

CREATE TRIGGER trigger_name 
BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name
FOR EACH ROW 
BEGIN 
   -- 触发器执行的操作
END;

Pernyataan CREATE TRIGGER memerlukan untuk menentukan yang berikut:

  • nama_cetus Nama pencetus.
  • SEBELUM |.
  • Operasi yang dikaitkan dengan INSERT|KEMASKINI|PADAM pencetus.
  • table_name Nama jadual di mana operasi pencetus akan dilakukan.
  • UNTUK SETIAP BARISAN menyatakan bilangan baris yang pencetus ini dilaksanakan setiap kali.
  • MULAI dan TAMAT mentakrifkan pernyataan SQL yang akan dilaksanakan dalam pencetus.

Sebagai contoh, pernyataan CREATE TRIGGER berikut mentakrifkan pencetus untuk dilaksanakan apabila baris data dimasukkan ke dalam jadual pengguna:

CREATE TRIGGER my_trigger 
BEFORE INSERT ON user
FOR EACH ROW
BEGIN
  INSERT INTO user_log (user_id, action) VALUES (NEW.id, 'inserted');
END;

Pencetus ini dilaksanakan setiap kali dalam jadual pengguna Operasi INSERT dilakukan sebelum dan ID data yang dimasukkan dan jenis operasi (dimasukkan) dimasukkan ke dalam jadual log_pengguna.

Padamkan pencetus MySQL

Dalam MySQL, pemadaman pencetus memerlukan penggunaan pernyataan DROP TRIGGER, sintaksnya adalah seperti berikut:

DROP TRIGGER [IF EXISTS] trigger_name;

Pernyataan DROP TRIGGER perlu nyatakan yang berikut:

  • JIKA WUJUD Apabila pilihan ini ditetapkan, tiada ralat akan dikembalikan jika pencetus yang cuba dipadamkan tidak wujud.
  • trigger_name Nama pencetus untuk dipadamkan.

Berikut ialah contoh praktikal Apabila kita ingin memadamkan pencetus my_trigger, kita boleh menggunakan pernyataan berikut:

DROP TRIGGER IF EXISTS my_trigger;

Dalam pernyataan DROP TRIGGER, kita menggunakan IF. Pilihan EXISTS untuk memastikan pencetus yang kami cuba alihkan benar-benar wujud. Jika kami tidak menggunakan pilihan ini, ralat akan dikembalikan apabila kami cuba memadamkan pencetus yang tidak wujud.

Ringkasan

Pencetus dalam MySQL ialah cara yang boleh dikonfigurasikan untuk melakukan tindakan secara automatik dalam keadaan tertentu. Pencetus boleh dilaksanakan pada SEBELUM atau SELEPAS peristiwa, dan pencetus berbeza boleh ditakrifkan untuk operasi INSERT, UPDATE dan DELETE. Untuk mencipta pencetus MySQL, anda perlu menggunakan pernyataan CREATE TRIGGER, dan untuk memadamkan pencetus, anda perlu menggunakan pernyataan DROP TRIGGER. Jika anda ingin mengetahui lebih lanjut tentang pencetus MySQL, sila rujuk dokumentasi MySQL rasmi.

Atas ialah kandungan terperinci Terokai cara mencipta dan memadam pencetus dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn