要增加觸發器,可以使用以下語法:
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name
FOR EACH ROW
BEGIN
-- 觸發器執行的邏輯代碼
END;
其中,trigger_name
是觸發器的名稱,BEFORE
或AFTER
表示觸發器的執行時間,INSERT
、UPDATE
或DELETE
表示觸發器的事件類型,table_name
是觸發器所屬的表名。
在BEGIN
和END
之間編寫觸發器執行的邏輯代碼。
以下是一個示例,創建一個在orders
表上的AFTER INSERT
觸發器,每次插入新記錄時自動更新orders_count
表中的訂單數量:
CREATE TRIGGER update_orders_count
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
UPDATE orders_count SET count = count + 1;
END;
注意:
觸發器必須在數據庫中的表上創建,只能在表級別使用。
觸發器可以在BEFORE
或AFTER
事件之前或之后執行。
觸發器可以在INSERT
、UPDATE
或DELETE
事件發生時執行。
FOR EACH ROW
表示觸發器針對每一行記錄執行。
觸發器內部可以使用OLD
和NEW
關鍵字引用舊值和新值。
觸發器可以包含各種SQL語句和流程控制語句。
使用DROP TRIGGER trigger_name
語句可以刪除觸發器。