- 基本上与创建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
推荐阅读
-
-
蝗玩军团|网友:幸亏不是韩信,王者荣耀最新FMVP皮肤确定!暖阳终于如愿
-
Ai应该怎么样才可以取消轮廓,在ai中怎么把图片的底色换掉呢
-
识别■农村一种野草,却被农民称为“神草”,药食兼具作用大,请你识别
-
「cnBeta」水星任务航天器BepiColombo将于4月10日掠过地球
-
-
「励志的晓莉」只有冷暖自知;早安!,世上没有感同身受
-
手机大魔王小米行车记录仪2 2K版发布;realme推出30W Dart闪充移动电源
-
-
-
-
李易峰|李易峰多次嫖娼坐实,大量私生活细节曝光,看完细思极恐!
-
非娱勿扰|千玺节目点评自己前队长,听清他嘴里喊的称呼,情商如何显而易见
-
白日纵酒须放歌■不为自己更不为冯绍峰,网友狂赞:难怪你能红,赵丽颖曾公开骂人
-
-
策娱页菇凉|婚后独享李荣浩宠爱,不会做饭竟然成秀恩爱资本每天看页菇凉娱乐解读,悄悄右上角点个关注呗!,杨丞琳怒怼网友
-
-
高血压|肾内科医生忠告:尿毒症患者,4种食物尽量少吃,否则肾扛不住
-
嘿丝儿科技 Graphcore启动全球合作伙伴计划,推动机器智能发展
-
老龄化|“5大现象”正席卷中国各地?4亿家庭已遭受影响,老百姓该重视了