Rumah > pangkalan data > tutorial mysql > Bagaimana untuk membuat pencetus MySQL sebelum memasukkan?

Bagaimana untuk membuat pencetus MySQL sebelum memasukkan?

PHPz
Lepaskan: 2023-08-29 14:09:06
ke hadapan
1026 orang telah melayarinya

Bagaimana untuk membuat pencetus MySQL sebelum memasukkan?

Untuk ini, sintaksnya adalah seperti berikut -

delimiter //
create trigger yourTriggerName before insert on yourTableName
   FOR EACH ROW
   BEGIN

   yourStatement1
   .
   .
   N
END
//
delimiter ;
Salin selepas log masuk

Untuk memahami sintaks di atas, mari kita buat jadual - ##🎜🎜

mysql> create table DemoTable1919
   (
   Value int
   );
Query OK, 0 rows affected (0.00 sec)
Salin selepas log masuk
#🎜🎜 #Ini adalah pertanyaan untuk mencipta pencetus MySQL sebelum memasukkan -

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 ;
Salin selepas log masuk

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
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk membuat pencetus MySQL sebelum memasukkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan