首页 / 数据库 / MySQL / MySQL数据库触发器(trigger)
MySQL触发器(trigger):监视某种情况并触发某种操作 一:四要素触发时间:before/after地点:table监视操作:insert/update/delete触发操作:insert/update/delete 二:创建触发器delimiter $ #将sql结束符改为$ 方便写触发的sql语句create trigger triggerName after/before insert/update/delete on tableNamefor each rowbegin sql语句; #想要触发的语句end$ 测试表:商品表(g),订单表(o)三:删除监视器drop trigger triggerName 四:下定单(o),商品表(g)数据触发更新create trigger tg after insert on ofor each rowbeginupdate g set num=num-new.much where id=new.gid;end$ PS:对于监视操作insert 而言,新增的行用new 表示 行中的每一列的值,用new.列名 取出 五:删除一个订单,商品表相应增加create trigger tg after delete on ofor each rowbeginupdate g set num=num+old.much where id=old.gid;end$ 六:修改一个订单,商品表相应改变create trigger tg after update on ofor each rowbeginupdate g set num=num+old.much-new.much where id=old.gid;end$ 七:after与before区别after 是先完成数据的增删改,再触发,前面的数据操作完成before是先触发,判断触发的条件是否满足,再对数据进行增删改操作本文永久更新链接地址