什么是mysql觸發器
MySQL觸發器是一種特殊的存儲過程,當特定事件發生時自動執行。這些事件可以是INSERT、UPDATE、DELETE等。通過定義MySQL觸發器,將會自動完成一些操作,而不需要手動執行SQL語句。
創建mysql觸發器語法
如下是mysql創建觸發器的語法:
CREATE TRIGGER trigger_name trigger_time trigger_event
ON table_name FOR EACH ROW trigger_body
- trigger_name:觸發器名稱
- trigger_time:觸發器觸發時機,可選值為BEFORE或AFTER
- trigger_event:觸發器觸發事件,可選值為INSERT、UPDATE或DELETE
- table_name:要在其上創建觸發器的表名
- trigger_body:觸發器的主體部分,包含要執行的語句
mysql觸發器的執行順序
MySQL觸發器執行順序如下:
1.執行BEFORE INSERT觸發器。
2.插入數據。
3.執行AFTER INSERT觸發器。
4.執行BEFORE UPDATE觸發器。
5.更新數據。
6.執行AFTER UPDATE觸發器。
7.執行BEFORE DELETE觸發器。
8.刪除數據。
9.執行AFTER DELETE觸發器。
mysql觸發器示例
如下示例是在表employee上創建一個觸發器,在每次插入新記錄時自動更新該員工部門的總人數:
CREATE TRIGGER update_dept_count
AFTER INSERT ON employee
FOR EACH ROW
BEGIN
UPDATE department SET total_count = total_count + 1 WHERE department_id = NEW.department_id;
END;