【发布时间】:2013-04-15 16:56:24
【问题描述】:
正如Should I use field 'datetime' or 'timestamp'? 明确指出的那样,DATETIME 和 TIMESTAMP 字段之间的主要区别是:
- MySQL 中的 TIMESTAMP 一般用于跟踪记录的更改,并在每次记录更改时自动更新。
- DATETIME 表示日期(在日历中)和时间(可以在挂钟上观察到),而 TIMESTAMP 表示明确定义的时间点。
- 只有 TIMESTAMP 值会从当前时区转换为 UTC 进行存储,并从 UTC 转换回当前时区进行检索。
所以,我有一个包含 date_created 列和 date_modified 列的表。我将 date_created 设为 DATETIME,因此每次更新记录时都不会被覆盖,并将 date_modified 设为 TIMESTAMP,因此每次更新记录时都会更新。
如何保持两者同步?例如,在最初创建记录后,date_created 和 date_modified 列将是相同的。以后如果记录从未更改,则无论时区和夏令时如何,它们都应该保持不变,不是吗?
【问题讨论】: