mysql触发器
四要素:
1.监视表(table)
2.监视事件(insert/update/delete)
3.触发时间(after/before)
4.触发事件(insert/update/delete)
语法:
CREATE TRIGGER triggername
AFTER/BEFORE INSERT/UPDATE/DELETE ON 表名
FOR EACH ROW #这句话在MYSQL是固定的
BEGIN
SQL语句;
END;
处理语句中可以使用 new 代表新数据 old代表旧数据
CREATE TRIGGER trg
AFTER INSERT ON tableName
FOR EACH ROW
BEGIN
UPDATE table_name SET num=num-new.much WHERE id=new.gid;
END$
CREATE TRIGGER trg
AFTER DELETE ON tableName
FOR EACH ROW
BEGIN
UPDATE table_name SET num = num + old.much WHERE id = old.gid;
END$
befor 和 after的区别
一个是在触发前执行 一个是触发后执行
在sql处理语句中均可使用new 和 old
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步