- 基本上与创建INSERT触发器一样,只不过在DELETE触发器中只能使用OLD来访问被删除的行数据 。
UPDATE触发器
- UPDATE触发器在UPDATE语句执行之前或者之后执行,需要知道一下几点:
- 在BEFORE UPDATE触发器中可以使用NEW和OLD来访问数据,而在AFTER UPDATE触发器中使用NEW来访问数据会报错,只能使用OLD来访问数据;
- 在BEFORE UPDATE触发器中,NEW中的值可以被改变,即允许更改将用于UPDATE的数据;
- OLD中的行数据只能读,不能被更新;
- 一个UPDATE触发器示例如下:
/*创建UPDATE触发器*/DELIMITER // CREATE TRIGGER insertcustomers BEFORE UPDATE ON customers FOR EACH ROWBEGINSELECT NEW.cust_name INTO @beforeupdate; SET NEW.cust_name = 'reset_name'; SELECT OLD.cust_name INTO @afterupdate; END ///*调用UPDATE触发器*/ UPDATE customers SET cust_name = 'happy' WHERE cust_id = 5; SELECT @beforeupdate; SELECT @afterupdate;复制代码
- 输出为@beforeupdate为‘happay’,而@afterupdate为'reset_name' 。有这样一些细节:
- NEW虚拟表中的数据可以更改,如这里采用 SET NEW.cust_name = 'reset_name';,将待更新的cust_name由“happy”变成了“reset_name”;
- 在BEFORE UPDATE触发器中可以使用NEW和OLD来访问数据,而在AFTER UPDATE触发器中使用NEW来访问数据会报错;
- 删除触发器?
- 删除触发器,可以使用 DROP TRIGGER语句,比如DROP TRIGGER insertcustomers; 。触发器不能更新或者覆盖,如果要修改触发器,必须删除这个触发器 。
来源:https://juejin.im/post/5ae55861f265da0ba062ec71
推荐阅读
-
文汇网|日本男演员三浦春马去世,年仅30岁,四天前还在更新微博
-
「联想」被淘汰的手机品牌,曾经的辉煌不复存在,使用过的用户已经奔三
-
新华网■(新春走基层)一座山,一辈子——走进赣江源
-
默默说笑|跌到了5元卖出?为什么在股票投资中很少人能胜出?当你手中你的股票下跌时,请记住这10条经验一辈子牢记!散户炒股五条铁律,中国股民启示录:散户为什么总在10元的时候买入股票
-
三月冬不拉|弹性贴合身体线条,彰显女神的光环,高腰牛仔裤穿得充满活力
-
手机中国因为它拥有玉一样的手感,雷军最喜欢的小米手机是它
-
cnBeta|14小部件支持,iOS版Gmail应用获得iOS
-
-
『』拥有地面最快速度的猎豹,为什么被称为“猫科之耻”?
-
新机发布|荣耀V40将于11月发布,OLED屏+天玑芯片,价格感人
-
我的世界|“泥鳅挂钩”垂钓到底行不行?管理部门的意见来了!用意很明确
-
央视新闻客户端|新疆卫健委:喀什新增137例无症状感染者,已启动一级响应
-
王一博|节目造型再次翻车!王一博裤子半提被指猥琐,裤子设计被吐槽
-
-
孙悟空大闹天宫真实原因?孙悟空大闹天宫的结果是什么
-
全视观察|背地里却给头号对手送大礼,莫迪又被耍了?俄罗斯表面与印度交好
-
眼神|原创张泽群86岁母亲因脑梗无法说话,交流全靠眼神,从没看过儿子演出
-
-
青蛙你的犀牛▲戴眼镜用纸巾包住手按柜员机,TVB小生黄浩然面对疫情做足准备
-
晓娜说娱乐|家里的伙食不好自己出来抓鱼,爆笑GIF:这猫咪懂事了