zoukankan      html  css  js  c++  java
  • MySQL触发器的使用

    一、MySQL创建触发器语法:

    CREATE TRIGGER trigger_name
    {BEFORE|AFTER}
    {DELETE|INSERT|UPDATE}
    ON table_name
    FOR EACH ROW
    BEGIN
    END;

    语法说明:

    • trigger_name:触发器名称。
    • {BEFORE|AFTER}:before、after,表示触发时机,是执行前还是执行后触发。
    • {DELETE|INSERT|UPDATE}:delete、insert、update表示触发事件。
    • table_name:表名,表示是在哪个表里创建触发器。
    • FOR EACH ROW:每一行受影响都触发,也叫行级触发器。
    • 以BEGIN开头END结尾的语句表示触发器程序体,里面是具体的触发后的逻辑。

     

    二、NEW 和 OLD 关键字:

    除了以上语法外,常用的还有 NEW 和 OLD 关键字,OLD 用来表示原先的数据,NEW 用来表示新数据。

    OLD.column   // column为具体的表字段
    NEW.column   // column为具体的表字段

     

    三、查询已经创建的触发器:

    SHOW TRIGGERS;

     

    四、删除触发器:

    DROP TRIGGER trigger_name;

     

    五、示例:

    在user表中创建一个触发器,当user表中money字段变化时,需要往user_log表中插入一条数据。

    CREATE TRIGGER user_log_trigger
    AFTER UPDATE
    ON user
    FOR EACH ROW
    BEGIN
      IF OLD.money != NEW.money THEN
        INSERT INTO user_log (before_money, after_money) VALUES (OLD.money, NEW.money);
      END IF;
    END;
  • 相关阅读:
    array方法(一)
    浅谈开发中所注意的问题
    缩略图初版
    Finite State Machine
    mMathf -》 Unity3d通用脚本
    Follow Path -》 Unity3d通用脚本
    Google 网站打不开
    MonoBehaviour.StopCoroutine
    Tutorial Unity 4 apk splitting into OBB for google play
    NGUI List<EventDelegate> 小坑
  • 原文地址:https://www.cnblogs.com/woods1815/p/14025850.html
Copyright © 2011-2022 走看看