触发器

1.激活触发器的命令是INSERT、DELETE、UPDATE。

2.触发器是一个被指定关联到一个表的数据库对象,当对一个表的特定事件出现时,它将会被激活,在需要时才被执行,保障数据库数据的完整性和多个表之间数据的一致性,可以创建在表上,不能创建在视图上。

3.当触发器涉及对表自身的更新操作时,只能使用BEFORE UPDATE触发器,而AFTER UPDATE触发器将不被允许。

4.查看触发器的语法格式为:SHOW TRIGGERS [ {FROM|IN} db_name]。

5.触发器是由数据表上的特定事件所触发,可由INSERT、DELETE、UPDATE触发,不带有参数,不可建立在视图上。

6.在INSERT触发器代码内可引用一个名为NEW的虚拟表来访问被插入的行。

7.在MySQL中,BEFORE就是在INSERT或UPDATE之前执行触发器,AFTER就是在INSERT或UPDATE之后执行触发器,更新操作(UPDATE)、INSERTED表有数据(新数据),DELETED表有数据(旧数据)。

8.在触发器创建中,每个表每个事件每次只允许一个触发器,每个表最多支持6个触发器;INSERT的BEFORE触发器不仅能被MySQL的INSERT语句激活,也能被LOAD DATA语句激活;同一个表不能拥有两个相同触发时刻和事件的触发器;从表中使用DELETE或REPLACE删除某一行时激活触发器.

9.在MySQL中,INSERT的BEFORE触发器不仅能被MySQL中的INSERT语句激活,也能被LOAD DATA语句激活,UPDATE触发器由MySQL中的UPDATE语句激活,DELETE触发器由MySQL中的DELETE和REPLACE语句激活。

10.在MySQL中,同一个表不能拥有两个具有相同触发时刻和事件的触发器。即一张表上不能定义两个相同的触发器,如定义两个BEFORE UPDATE触发器。

11.在INSERT触发器中,AUTO_INCREMENT列记录表中行数,在执行INSERT之前是空记录,因此NEW在INSERT执行之前包含的默认值是0。

12.在MySQL中,同一个表不能拥有两个具有相同触发时刻和事件的触发器。即一张表上不能定义两个相同的触发器,如定义两个AFTER INSERT触发器。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值