zoukankan      html  css  js  c++  java
  • MySql 触发器的新增、修改、删除的创建

     MySql 触发器与SQL server 触发器不同:

    SQL Server   使用 inserted、deleted 代表被触发的数据。

    MySQL NEW代表触发后的新数据行,Old代表当前触发数据被修改前的数据行

    一、Insert

    delimiter $$
    CREATE TRIGGER trigger _Name_insert   AFTER INSERT

    ON  test_tb  FOR EACH ROW
    BEGIN

    INSERT INTO testtb2 (a,b)
    VALUES
    (NEW.ID,NEW.datet);  #NEW 代表当前新增行

    END;
    $$

    DELIMITER ;

    二、Update

    delimiter $$
    CREATE TRIGGER trigger _Name_update  AFTER UPDATE

    ON  test_tb  FOR EACH ROW
    BEGIN

    INSERT INTO testtb2 (a,b)
    VALUES
    (NEW.ID,NEW.datet);  #NEW 代表当前修改后数据行,使用Old 则代表被修改行修改前的数据

    END;
    $$

    DELIMITER ;

    三、Delete

    delimiter $$
    CREATE TRIGGER trigger _Name_dalete  BEFORE DELETE

    ON  test_tb  FOR EACH ROW
    BEGIN

    INSERT INTO testtb2 (a,b)
    VALUES
    (NEW.ID,NEW.datet);  #NEW 代表当前删除行

    END;
    $$

    DELIMITER ;

    四、触发器的启用与禁用

    ALTER TABLE [表名] DISABLE TRIGGER [触发器名] --禁用触发器
    --需要执行的操作语句
    ALTER TABLE [表名] ENABLE TRIGGER [触发器名] --启用触发器

  • 相关阅读:
    danci8
    禁止选择文本
    danci6
    danci5
    java 学习编译
    自动代码模板文件
    java 学习5 .io
    java 学习4 callback 回调 和泛型
    java 学习3。集合
    java 学习3。类 和 继承
  • 原文地址:https://www.cnblogs.com/limitpjz/p/10370541.html
Copyright © 2011-2022 走看看