gpt4 book ai didi

php - 执行更新触发器后如何获取之前的记录?

转载 作者:行者123 更新时间:2023-11-29 07:19:04 25 4
gpt4 key购买 nike

我有一些不同的场景可以使用触发器。

我想在主表上实际更新之前在日志表中插入记录。但我想采取不同的做法。

就像只有当主表中真正发生更新时才将记录添加到日志表中,我想使用 MySQL 触发器来完成此操作。

我在这里附上屏幕截图。

enter image description here

如果我为 name = ABCD 更新 id = 1,那么它首先读取行的先前状态,将其添加到日志表中。

enter image description here

我想检查的是使用 MySQL 触发器,它仅在 main_table 发生实际更新时添加到 main_table_log 表。如果 main_table 中没有更新,则不应将记录添加到 main_table_log 表中。

有人可以帮我吗?我认为这是可行的,但不知道如何做?

显然我使用 PHP 作为前端。

最佳答案

您可以在触发器中测试新旧值是否不同。

CREATE TRIGGER log_trigger
AFTER UPDATE ON main_table
FOR EACH ROW
IF OLD.name != NEW.name OR OLD.num != NEW.num
THEN
INSERT INTO main_table_log (id, name, num) VALUES (OLD.id, OLD.name, OLD.num)
END IF

关于php - 执行更新触发器后如何获取之前的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36807522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com