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