Beberapa jadual berkaitan antara satu sama lain, seperti jadual produk dan jadual inventori Kami beroperasi pada data jadual produk , maka Jadual inventori yang sepadan juga mesti diubah untuk memastikan integriti data. Lebih menyusahkan jika kita menyelenggaranya sendiri secara manual.
Pada masa ini, kita boleh menggunakan pencetus untuk mencipta pencetus supaya operasi pemasukan data maklumat produk secara automatik mencetuskan operasi pemasukan data inventori, dsb., supaya kita tidak perlu risau tentang kehilangan data akibat terlupa untuk menambah data inventori.
MySQL menyokong pencetus bermula dari versi 5.0.2
Pencetus MySQL, seperti stored procedure, ialah program yang dibenamkan dalam pelayan MySQL
Pencetus ialah peristiwa tertentu yang mencetuskan operasi Peristiwa ini termasuk memasukkan, memadam dan mengemas kini acara
Jika atur cara pencetus ditakrifkan, apabila pangkalan data melaksanakan pernyataan ini, ia bersamaan dengan peristiwa yang berlaku dan pencetus akan dicetuskan secara automatik untuk melaksanakan operasi yang sepadan
Jika kita perlu melaksanakan beberapa logik pangkalan data secara automatik apabila memasukkan data ke dalam jadual dalam pangkalan data, kita boleh menggunakan pencetus untuk mencapainya.
Pencetus bertindak pada jadual. Perlaksanaan pencetus dicetuskan semasa merakam, dan anda juga perlu memilih sama ada pencetus dilaksanakan sebelum atau selepas pernyataan sisipan dilaksanakan.
untuk setiap baris menunjukkan bahawa setiap kali acara (sisipkan, kemas kini atau padam) dilaksanakan, pencetus akan dicetuskan
Penerangan :
表名
: Menunjukkan objek yang dipantau oleh pencetus.
BEFORE|AFTER
: Menunjukkan masa pencetus. SEBELUM bermaksud mencetuskan sebelum acara; SELEPAS bermaksud mencetuskan selepas peristiwa.
INSERT|UPDATE|DELETE
: Menunjukkan peristiwa yang dicetuskan.
INSERT bermaksud mencetuskan apabila memasukkan rekod; 🎜>
DELETE bermaksud dicetuskan apabila rekod dipadamkan.Sediakan jadual dahulu触发器执行的语句块
CREATE TRIGGER 触发器名称 {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 FOR EACH ROW 触发器执行的语句块;
Lihat pencetus adalah untuk melihat definisi pencetus yang telah wujud dalam pangkalan data. Maklumat status dan sintaks, dsb.
CREATE TABLE test_trigger (id INT PRIMARY KEY AUTO_INCREMENT,t_note VARCHAR(30));CREATE TABLE test_trigger_log (id INT PRIMARY KEY AUTO_INCREMENT,t_log VARCHAR(30));
show triggers\G 注意,在SQLyog中,不能加上\G
show create trigger 触发器名
SELECT * FROM information_schema.TRIGGERS;
Atas ialah kandungan terperinci Bagaimana untuk mencipta dan memadamkan pencetus MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!