Untuk ini, sintaksnya adalah seperti berikut -
delimiter // create trigger yourTriggerName before insert on yourTableName FOR EACH ROW BEGIN yourStatement1 . . N END // delimiter ;
Untuk memahami sintaks di atas, mari kita buat jadual - ##🎜🎜
mysql> create table DemoTable1919 ( Value int ); Query OK, 0 rows affected (0.00 sec)
mysql> delimiter // mysql> create trigger sumis60 before insert on DemoTable1919 FOR EACH ROW BEGIN declare custom_message varchar(256); IF (SELECT sum(Value) from DemoTable1919) = 60 THEN set custom_message= "cannot insert because sum(Value) is greater than 60"; signal sqlstate '13500' set message_text= custom_message; END IF; END // Query OK, 0 rows affected (0.00 sec) mysql> delimiter ;
Kini anda boleh menggunakan arahan sisip untuk memasukkan beberapa rekod dalam jadual dan menyemak kerja pencetus - #🎜🎜 #
mysql> insert into DemoTable1919 values(10); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1919 values(20); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1919 values(30); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1919 values(40); ERROR 1644 (13500): cannot insert because sum(Value) is greater than 60
Atas ialah kandungan terperinci Bagaimana untuk membuat pencetus MySQL sebelum memasukkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!