gpt4 book ai didi

mysql - 是否可以在 MySQL 中设置多个自动 TIMESTAMP 列以跟踪每一列中所做的更改?

转载 作者:可可西里 更新时间:2023-11-01 09:04:09 24 4
gpt4 key购买 nike

将使用 PHP Crud 系统修改 MySQL 数据库,我需要跟踪每条记录的修改时间。

例如,如果我的表有 30 行和 30 列,并且我想在每个单独的条目旁边放置一个“最后修改时间”,我是否可以以某种方式设置与每个现有列相关的 30 个 TIMESTAMP 列来实现这一点?

或者有更好的方法吗?

这是我基本上想要的:

Column 1   C1s TIMESTAMP   Column 2   C2s TIMESTAMP   Column 3   C3s TIMESTAMP...
Red (lastModified) Green (lastModified) Blue (lastModified)
Orange (lastModified) Purple (lastModified) Pink (lastModified)
Yellow (lastModified) Black (lastModified) Brown (lastModified)
... etc

最佳答案

虽然应该可以确定哪一列发生了变化。当您可以访问旧值和新值时,您可以检查每个字段是否发生了变化,如果发生了变化,则在相应字段中输入新的时间戳。像这样的东西:

CREATE TRIGGER updateTable
BEFORE UPDATE ON tableA
FOR EACH ROW
BEGIN
IF OLD.field1 != NEW.field1 THEN
SET NEW.timestamp1 = now()
END IF;
IF OLD.field2 != NEW.field2 THEN
SET NEW.timestamp2 = now()
END IF;
END

我认为这可能有效,但我还没有测试过。

关于mysql - 是否可以在 MySQL 中设置多个自动 TIMESTAMP 列以跟踪每一列中所做的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34515530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com