mysql - 如何使 MySQL 触发器仅在至少一个 OLD 字段与 NEW 字段不同时运行?

标签 mysql

我正在尝试审核 MySQL 上的表更改,但我希望“更新前”触发器仅在至少有一个更改的字段时运行(在审核表中添加一行)。

有没有一种方法可以轻松检查旧版和新版之间所有字段的变化?

最佳答案

delimiter //
CREATE TRIGGER check BEFORE UPDATE ON ???
FOR EACH ROW
BEGIN
    IF NEW.foo <> OLD.foo OR NEW.bar <> OLD.bar... THEN
        ???
    END IF;
END//
delimiter ;

它可以工作^^

关于mysql - 如何使 MySQL 触发器仅在至少一个 OLD 字段与 NEW 字段不同时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4015920/

相关文章:

mysql - 在 MySQL 嵌套 If 中检查 Null

php - 如何在SQL查询中使用ELSE?

php - 无法在表中显示数据

mysql - SQL-获取平均计数 GROUP BY 月

mysql - sql查询出了什么问题?

php - 使用没有 WIFI 的智能手机访问 localhost 站点

mysql - 在 MySQL 中生成(即写入)行号索引列

mysql - 奇怪的 SQL 更新行为

php - 通过php、mysql脚本将大量记录(大约40,000条)插入到mysql中

MySQL 列名是一个奇怪的字符 - 我该如何更改它?