mysql_触发器

#插入之前触发

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 来引用触发器中发生变化的记录内容;

猜你喜欢

转载自www.cnblogs.com/tanghu/p/9722855.html