1

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

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 中抛出错误。它对我尖叫,它不能调用自己来更新同一张表。任何帮助将不胜感激。

4

1 回答 1

1

我想修改同一张表,尝试使用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;
于 2012-09-28T21:10:42.897 回答