#插入之前触发
delimiter $$
create trigger tri_user before insert on user for each row
begin
insert into user_info(role_id,user_name,user_password) value(1,new.user_name,new.password);
end $$
delimiter ;
#删除前触发
create trigger tri_user_delete_info before drop on t1 for each row
begin
insert into user_info(role_id,user_name,user_password) values(2,old.user_name,old.password);
#记录删除到日志
insert into delete_log(operator) values(user());
end$$
#查看触发器
show triggers G
#删除触发器
drop trigger trigger_name;
总结:
1.触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合;
2.触发器的时间可以是before:检查约束前触发;after:检查约束后触发;
3.触发事件可以是:insert,update,delete;
4.MySQL不支持在一个触发器里边有多个事件触发,只支持一个触发器定义一个事件
5.使用别名old 和 new 来引用触发器中发生变化的记录内容;