gpt4 book ai didi

MySQL如何在同一表中仅对一列更新进行时间戳

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

到目前为止,这是我的代码

DELIMITER $$
CREATE TRIGGER status AFTER UPDATE ON users
FOR EACH ROW BEGIN
IF NEW.status != OLD.status
THEN INSERT INTO users (status_change_date)
VALUES (NOW());
ENDIF;
END$$

DELIMITER;

我们要做的是在指定字段更改时用当前日期更新该字段,并将该日期保存在同一个表中的 status_change_date 下。上面的代码在 MySQL 中抛出错误。它对我尖叫说它不能调用自己来更新同一张表。任何帮助将不胜感激。

最佳答案

如果您想修改同一个表,请尝试使用 BEFORE UPDATE 触发器而不是 AFTER UPDATE ,如下所示:

DELIMITER $$
CREATE TRIGGER status BEFORE UPDATE ON users
FOR EACH ROW BEGIN
IF NEW.status != OLD.status
THEN INSERT INTO users (status_change_date)
VALUES (NOW());
ENDIF;
END$$

DELIMITER;

关于MySQL如何在同一表中仅对一列更新进行时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12647302/

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