触发器基本语法

  1. 生成一个触发器

    CREATE TRIGGER 触发器名 触发事件(BEFORE|AFTER INSERT|UPDATE|DELETE)
    ON 表名 FOR EACH ROW 
    触发器激活后需要执行的语句

    一些注意事项

    • 同一个数据库中不能创建同名触发器
    • 在同一张表中不能出现触发条件相同的触发器
    • 使用NEWOLD来获取数据变化前后的记录值
    • 如果激活后只有一条操作,可以直接写,如果需要复杂操作则需要使用BEGIN...END;语句包围
  2. 查看触发器

    SHOW TRIGGERS ;
  3. 删除触发器

    DROP TRIGGER 触发器名; 
  4. 修改触发器

    将已有触发器删除后再重新创建😂

一个简单的触发器示例

CREATE TRIGGER update_userinfo_trigger 
AFTER UPDATE ON user
FOR EACH ROW
BEGIN
    IF NEW.user_name <> OLD.user_name THEN
        UPDATE task_my SET user_name = NEW.user_name WHERE user_id = NEW.id;
        UPDATE table1 SET user_name = NEW.user_name WHERE user_id = NEW.id;
        UPDATE table2 SET user_name = NEW.user_name WHERE user_id = NEW.id;
    END IF;
END;

该触发器实现了,在更新user表中的name时,可以同时联动着将其他表中的name也更新掉,实现用户数据的统一

最后修改:2024 年 05 月 12 日
如果觉得我的文章对你有用,请随意赞赏