1、简介
在MySQL中,提前设置好触发器,当用户执行指定SQL语句时自动触发。
2、语法
#修改SQL语句结束符
delimiter //
create trigger 触发器名称 before|after 事件 on 表名 for each row
begin
#SQL语句
end //
#改回SQL语句结束符
delimiter ;
before | after
在执行增/改/删SQL语句执行 之前 或 之后 触发
事件:update/delete/insert
表名:声明哪张表被监控
for each row
:声明一次性影响多条数据则触发N次
3、示例:
创建表a和表b,当a表插入数据后,b表也自动插入数据
create table a (id int)engine=myisam charset=utf8;
create table b (id int)engine=myisam charset=utf8;
#创建触发器
drop trigger if exists t1;
delimiter //
#监控a表,当a表插入数据时执行该触发器
create trigger t1 after insert on a for each row
begin
#SQL语句
insert into b values(9);
end //
delimiter ;
insert into a values (1);
影响的行(for each row)
insert into a values (1),(2),(3);
4、触发器相关SQL语句
删除触发器:drop trigger [if exists] 触发器名;
显示所有触发器:show triggers;
显示创建触发器的SQL语句:show create trigger 触发器名称;
网友评论