要增加触发器,可以使用以下语法:
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
语句可以删除触发器。