MySQL中觸發(fā)器主要用于在表中發(fā)生某些事件時自動執(zhí)行指定的操作。下面介紹如何設(shè)置觸發(fā)器。
首先創(chuàng)建一個包含觸發(fā)器的表,表名為"example_table",表結(jié)構(gòu)如下:
CREATE TABLE example_table ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT NOT NULL, PRIMARY KEY (id) );
接著創(chuàng)建一個在插入時觸發(fā)的觸發(fā)器,該觸發(fā)器將在插入數(shù)據(jù)前自動將年齡減1。代碼如下:
CREATE TRIGGER before_insert_example_table BEFORE INSERT ON example_table FOR EACH ROW BEGIN SET NEW.age = NEW.age - 1; END;
再創(chuàng)建一個在更新時觸發(fā)的觸發(fā)器,該觸發(fā)器將在更新數(shù)據(jù)前將年齡加1。代碼如下:
CREATE TRIGGER before_update_example_table BEFORE UPDATE ON example_table FOR EACH ROW BEGIN SET NEW.age = NEW.age + 1; END;
最后創(chuàng)建一個在刪除時觸發(fā)的觸發(fā)器,該觸發(fā)器將在刪除數(shù)據(jù)后自動將該記錄的ID插入到另一個表中。代碼如下:
CREATE TRIGGER after_delete_example_table AFTER DELETE ON example_table FOR EACH ROW BEGIN INSERT INTO another_table(id) VALUES(OLD.id); END;
以上就是MySQL中設(shè)置觸發(fā)器的方法,通過觸發(fā)器可以實現(xiàn)更加靈活和自動化的數(shù)據(jù)操作。