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触发器。