①器器数据中须具有唯一,如果是在某个特定数据库中创建,在触发器名前加上数据库的名称。
②触发时刻。触发时刻有两个选择:BEFORE或AFTER,以表示触发器在激活它的语句之前触发或之后触发
③触器行的语句类型,可以是INSERT(插人记录时激活触发器)、DELETE(删除记录时激活触发器)、UPDATE(更新记录时激活触发器)。
①表名。与触发器相关的数据表名称,在该数据表上发生触发事件时激活触发器。⑤ FOR EACH ROW。行级触发器,指受触发事件每影响一行都会执行一次触发程序。
⑥触发器动作。触发器激活时将要执行的语句,如果要执行多条语句可使用 BEGIN…END复合语句。
触发器动作中可以使用NEW与OLD关键字:当插入记录时,在触发动作中可以使用NEW关键字表示新记录,当需要访问新记录的某个字段值时,可以使用“NEW.字段名”的方式访问;当删除记录时,在触发动作中可以使用OLD关键字表示旧记录,当需要访向旧记录的某个字段值时,可以使用“OLD.字段名”的方式访问;当更新某条记录时,在触发程序中可以使用OLD关键字表示更新前的旧记录,使用NEW关键字表示更新后的新记录。
注意,在MySQL 触发器中不能直接在客户端界面返回结果,所以在触发器动作中不要使用SELECT语句,也不能在一个表上同时创建两个相同类型的触发器。因此,在一个表上最多创建6个触发器。
触发器语法
1.创建触发器:
create trigger 触发器名 触发时刻(before,after)触发事件 (insert) on 表名 for each row 触发器动作;
2.删除触发器
drop trigger 触发器名;
3.查看触发器
show triggers;
二、内容总结
1.触发器概述
触发器是特殊的存储过程,是一个被指定关联到数据表上的数据库对象,可以看作数据表定义的一部分,用于实现数据库中数据的完整性。
2.触发器作用
(1)安全性
(2)实现复杂的数据完整性
(3)实现复杂的非标准数据相关完整性
总结详情: