zoukankan      html  css  js  c++  java
  • mysql触发器

    mysql触发器四要素;

    • 监视对象:监视那张表?
    • 监视操作:监视表的insert,update,delete操作
    • 触发操作:执行什么操作?
    • 触发时间:after,before

    创建触发器语法:

    create trigger trigger_name(触发器名称,随便起)

    after/before(触发时间) insert/update/delete(监视操作) on table_name(监视对象)

    begin

    sql语句(触发操作)

    end

    注意:

    对insert而言,新插入的行用new来表示,行中每一列的值用new.列名来表示
    对于delete而言,删除的行用old来表示,行中每一列的值用old.列名来表示
    对于update而言,被修改的行,修改前的数据,用old来表示,old.列名;修改后的数据,用new来表示,new.列名
     
    after是先完成数据的增删改,再触发,触发中的语句晚于数据的增删改;
    before是先触发再做数据的增删改,触发中的语句先于监视的增删改;

    删除触发器语法:

    Drop trigger triggerName;

    显示已有触发器语法:
    Show triggers
     
    举例:创建触发器insert_tri,当表a中插入新记录时,往表b也添加一条记录
    create trigger insert_tri
    after insert on a
    begin
    inser into b values(new.列1,new.列2........);
    end
  • 相关阅读:
    【交换】
    【数字对】
    【改造二叉树】
    【Begin】
    100以内所有质数的输出
    位运算符、|和||、&和&&的区别
    linux中vim编辑器三种模式及常用命令的使用
    静态代码块、构造代码块和构造函数的执行顺序
    字符乱码出现的原因及解决办法
    Springcloud-微服务
  • 原文地址:https://www.cnblogs.com/yinz/p/3737299.html
Copyright © 2011-2022 走看看