如何使用 sql 中的触发器将表字段 create_date 更新为当前日期?

时间:2021-05-11 12:25:01

标签: mysql triggers

错误代码:1442。无法更新存储函数/触发器中的表“参与者”,因为它已被调用此存储函数/触发器的语句使用。

所以我想实现这一点 -> 一旦参与者更新,我想将他的 create_date 更新为当前日期

drop trigger update_user;

DELIMITER //

CREATE
    TRIGGER update_user BEFORE UPDATE
    ON Competition.participant
    FOR EACH ROW BEGIN
        update participant
        set create_date = CURRENT_TIMESTAMP
        where id_participant = old.id_participant;
END//

DELIMITER ;

update participant 
set name = 'Rostyk'
where id_participant = 1;

1 个答案:

答案 0 :(得分:0)

CREATE
TRIGGER update_user 
BEFORE UPDATE
ON Competition.participant
FOR EACH ROW
SET NEW.create_date = CURRENT_TIMESTAMP;

但是将 create_date 列定义为 ON UPDATE CURRENT_TIMESTAMP 更简单,并且不使用触发器。

相关问题