我在一个项目上使用mysql,并且每次password_last_updated
字段被更新时,我都需要更新password
(时间戳)字段。有没有一种方法可以使用mysql检测password
列上的更新,并且一旦更新发生,password_last_updated
列将自动使用当前时间戳进行更新?
答案 0 :(得分:3)
您应该能够使用触发器来执行此操作,该触发器检查密码值的更改,如果不同,则将password_last_updated
设置为current_timestamp
:
DELIMITER //
CREATE TRIGGER update_ts
BEFORE UPDATE ON accounts
FOR EACH ROW
BEGIN
IF NEW.password != OLD.password THEN
SET NEW.password_last_updated = CURRENT_TIMESTAMP();
END IF;
END //
DELIMITER ;