触发器是当表中的内容发生增删改时,自动触发的代码。
触发器包含的三要素
1.事件类型:增(insert)删(delete)改(update)
2.触发时间:事件触发的前(before)后(after)
3.触发对象
每张表不能存在两张相同事件类型和触发时间的触发器,即最多只能拥有3*2种触发器
触发器语句:
create trigger + 触发器名称 + 触发器时间 + 事件类型 on 表名 for each row
begin -- 代表触发器内容开始
-- 触发器内容主体,每行用分号结尾
end -- 代表触发器内容结束
还有两记录名:
1.OLD代表是旧记录,也就是当前记录的状态,插入时没有OLD;
2.NEW代表是新记录,也就是假设操作发生之后记录的状态,删除时没有NEW。
取值为: OLD/NEW . 字段名
下面是数据实例:
表一 user_product:
user_product
表二 user_first:
user_first
逻辑陈述:当删除user_product表中的数据时,根据user_id关联user_first的id,删除user_first对应行。
创建触发器:
CREATE TRIGGER after_product_del AFTER DELETE ON user_product for each ROW
BEGIN
DELETE from user_first WHERE id = OLD.user_id;
END
执行user_product删除操作:
DELETE from user_product where id = 3
结果:
image.png image.png
如需查看触发器,可用show triggers查看。也可在对应表的设计表中查看。
网友评论