触发器里after和before的区别
after是先完成监视事件的增删改,再完成触发事件的增删改
触发的语句晚于监视的增删改,无法影响前面的增删改动作。
before是先完成触发事件的增删改,再完成监视事件的增删改
触发的语句先监视的增删改,我们有机会判断,修改即将发生的操作。
典型案例:对于所下的订单进行判断,如果订单的数量>5,就认为是恶意订单
强制把所订的商品数量改成5
create trigger t1
before insert on o
for each row
begin
if new.o_buy>5
then set new.o_buy=5;
end if;
update g set g_inventory=g_inventory-new.o_buy where g_name=new.o_name;
end$
转载于:https://blog.51cto.com/1154179272/1653265