当字段Y在表中更新时,使用当前时间戳更新字段X.

问题描述 投票:0回答:1

我在项目上使用mysql,每次password_last_updated字段更新时我都需要更新password(时间戳)字段。有没有办法使用mysql检测password列的更新,一旦发生此更新,password_last_updated列将自动更新当前时间戳?

mysql
1个回答
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 ;

Demo on dbfiddle

© www.soinside.com 2019 - 2024. All rights reserved.