MYSQL触发器简单记录:
介绍
触发器是与表有关的数据库对象,指在insert/update/delete之前或之后,触发并执行触发器中定义的SQL语句集合.触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作.
触发器类型 | NEW 和 OLD 的使用 |
---|---|
INSERT 型触发器 | NEW 表示将要或者已经新增的数据 |
UPDATE 型触发器 | OLD表示修改之前的数据,NEW 表示将要或已经修改后的数据 |
DELETE 型触发器 | OLD表示将要或已经删除的数据 |
创建触发器:
create trigger trigger_name
before/after : insert/update/delete -- before : 在...之前执行 after : 在...之后执行
on tbl_name -- 表名
[ for each row ] -- 行级触发器 mysql -只支持行级触发器
begin
trigger_stmt ; -- 触发器具体内容
end;
-- 创建一个新增后的触发器
create trigger inset_trigger
after insert
on table_name
for each row
begin
-- new 取出修改后的数据关键字
insert into table_name(field ...) values ( field ... new.id ); -- 插入SQL语句
end;
-- 创建一个修改后的触发器
create trigger inset_trigger
after update
on table_name
for each row
begin
-- old 取出修改前的数据关键字 , new 取出修改后的数据关键字
insert into table_name(field ...) values ( field ... new.id ); -- 插入SQL语句
end;
-- 创建一个删除后的触发器
create trigger inset_trigger
after delete
on table_name
for each row
begin
-- old 取出修改前的数据关键字
insert into table_name(field ...) values ( field ... new.id ); -- 插入SQL语句
end;
查看触发器
-- 查看触发器
show triggers
删除触发器
-- 删除触发器
drop trigger table_name;