mysql - 另一列值更改的时间戳列
mysql - timestamp column of another column value change
假设我有一个 mySQL table 几列:
id, name, job, jobUpdatedAt
每当 job 列发生变化时,我希望 mySQL 自动更新 jobUpdatedAt 的时间戳。 (因此,如果仅更改名称,则不会更新)
这样的事情可能吗?
谢谢
CREATE TRIGGER trigger_name
BEFORE UPDATE
ON table_name
FOR EACH ROW
SET NEW.jobUpdatedAt = CASE WHEN OLD.job = NEW.job
THEN OLD.jobUpdatedAt
ELSE CURRENT_TIMESTAMP
END;
jobUpdatedAt
只有在job
被事实更新后才会续订
jobUpdatedAt
如果查询应尝试显式更新它,将被保存。
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=1b48bce653eb9a1d778e406fa5af894a
假设我有一个 mySQL table 几列:
id, name, job, jobUpdatedAt
每当 job 列发生变化时,我希望 mySQL 自动更新 jobUpdatedAt 的时间戳。 (因此,如果仅更改名称,则不会更新)
这样的事情可能吗?
谢谢
CREATE TRIGGER trigger_name
BEFORE UPDATE
ON table_name
FOR EACH ROW
SET NEW.jobUpdatedAt = CASE WHEN OLD.job = NEW.job
THEN OLD.jobUpdatedAt
ELSE CURRENT_TIMESTAMP
END;
jobUpdatedAt
只有在job
被事实更新后才会续订
jobUpdatedAt
如果查询应尝试显式更新它,将被保存。
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=1b48bce653eb9a1d778e406fa5af894a