1.什么是触发器
触发器是与表有关的数据库对象,指在insert/update/delete之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。
使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发。
insert型触发器:NEW表示将要或者已经新增的数据
update型触发器:OLD表示修改之前的数据,NEW表示将要或已经修改之后的数据
delete型触发器:OLD表示将要或已经删除的数据
2.触发器操作的语法
--创建触发器
create trigger trigger_name
before/after insert/update/delete
on tb_name for each row --行级触发器
begin
trigger_stmt;
end;
--查看触发器
show triggers;
--删除触发器
drop trigger [schema_name]trigger_name;--如果没有指定schema_name,则默认当前数据库
3.触发器的应用
触发器经常用来记录数据变更,通常会建立一张log表,log表记录监控表的数据变更,通常包含字段有自增主键,操作类型,操作时间,操作id,操作参数等;