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

  • 相关阅读:
    CF1515G
    杂题
    ARC120E
    CF1528F
    ICPC2021银川C
    gym102129F
    杂记6.15
    杂记5.12
    杂记4.1
    杂记3.17
  • 原文地址:https://www.cnblogs.com/tanghu/p/9722855.html
Copyright © 2020-2023  润新知