MySQL 时间字段用 DATETIME 还是 TIMESTAMP?
DATETIME:范围 1000-01-01 到 9999-12-31,8 字节,与时区无关(存储字面值,显示不变),推荐用于业务时间(下单时间、创建时间)——无时区坑、范围大。TIMESTAMP:范围 1970-2038,4 字节,存储 UTC(受时区影响,会话时区变显示变),有 2038 年问题;优点:省空间、可自动更新(ON UPDATE CURRENT_TIMESTAMP)——适合记录修改时间、时间戳语义字段。8.0 中两者均可指定 DEFAULT CURRENT_TIMESTAMP。结论:业务时间用 DATETIME(明确无歧义),系统审计字段(创建/更新时间)用 TIMESTAMP 或 DATETIME 均可。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。