正如我应该使用字段“日期时间”还是“时间戳”所明确指出的那样?,DATETIME 和 TIMESTAMP 字段之间的主要区别是:
- MySQL 中的 TIMESTAMP 一般用于跟踪记录的变化,并在每次记录发生变化时自动更新。
- DATETIME 表示日期(在日历中找到)和时间(可以在挂钟上观察到),而 TIMESTAMP 表示明确定义的时间点。
- 只有 TIMESTAMP 值从当前时区转换为 UTC 进行存储,并从 UTC 转换回当前时区进行检索。
所以,我有一个包含 date_created 列和 date_modified 列的表。我将 date_created 设为 DATETIME,因此每次更新记录时都不会被覆盖,并将 date_modified 设为 TIMESTAMP,因此每次更新记录时都会更新。
如何保持两者同步?例如,在最初创建记录后,date_created 和 date_modified 列将是相同的。稍后,如果记录从未更改过,那么无论时区和夏令时如何,它们都应该保持不变,不是吗?