导图社区 触发器
MySQL数据库程序设计第八章触发器,讲述了定义及概念、创建触发器、删除触发器、使用触发器、进一步说明等。
MySQL数据库程序设计第六章索引,内容有索引概述、查看数据表上的索引、创建索引、删除索引、对索引的进一步说明。
MySQL数据库程序设计第七章视图,讲述了概述、创建视图、删除视图、修改视图定义、查看视图定义、更新视图数据等。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
触发器 TRIGGER
定义及概念
触发器是一个被指定关联到一个表的数据库对象, 当对一个表的特定事件出现时,它将会被激活。
触发器具有MySQL在需要时才被执行的特点,即某条MySQL语句在特定事件发生时自动执行
触发器用于保护表的数据,当有操作影响到触发器保护的数据时,触发器自动执行从而保护数据库中数据的完整性,以及多个表中数据的一致性
只有INSERT, UPDATE, DELETE语句支持触发器
创建触发器
CREATE TRIGGER
若要执行多个语句,可使用BEGIN...END语句
在创建中,每个表每个事件每次只允许一个触发器,每个表最多支持6个触发器, 即每条insert,update,delete的前后
查看已有触发器,则为show triggers
删除触发器
DROP TRIGGER
删除表的同时也会自动地删除表上的触发器
触发器不能更新和覆盖,要修改就必须先删除
使用触发器
INSERT 触发器
在insert触发器代码内可以引用一个名为new的虚拟表来访问被插入的行
DELETE 触发器
在delete触发器代码内可以引用一个名为old的虚拟表来访问被删除的行
UPDATE 触发器
在update触发器代码内可以引用一个名为old的虚拟表访问更新前的值, 也可以引用一个名为new的虚拟表访问更新后的值
old中的值全部是只读的,不能被更新
当触发器涉及对表自身的更新操作时,只能使用before update触发器
进一步说明
创建触发器可能需要特殊的安全访问权限,但是触发器的执行是自动的
应该多用触发器来保证数据的一致性,完整性,正确性
触发器可用于创建审计跟踪,把对表的更新状态即前后状态记录到另一种表上