免责声明:这可能是datetime vs. timestamp?的重复,但我觉得我对答案并不满意:
我的问题是: 什么是在MySQL中选择TIMESTAMP而不是DATETIME列的好理由?
我很确定我不知道这两者之间的区别,所以我将尝试列出我所知道的DATETIME(
那么,我错过了什么?我仍然没有看到选择时间戳的真正好理由?
我的问题是: 什么是在MySQL中选择TIMESTAMP而不是DATETIME列的好理由?
我很确定我不知道这两者之间的区别,所以我将尝试列出我所知道的DATETIME(
DT
)相比TIMESTAMP(TS
)的主要优势:
DT
可读性强(使用TO_DATE
时,TS
不可读)DT
具有8999年的可能时间跨度(从1000-01-01 00:00:00
到9999-12-31 23:59:59
)
(TS
只有约68年,1970-01-01
到2038-01-19
)DT
字段似乎表现更好(根据此博客文章)DT
可用于高级日期计算(SELECT NOW() + INTERVAL 2 DAY
)
TS
只需要4个字节(DT
使用8个字节)TS
以UTC值存储并根据客户端的时区设置更改TS
列可用作监视行何时更改的“日志”
TIMESTAMP
的范围,将在“仅”28年内结束*,我宁愿使用插入或更新触发器。那么,我错过了什么?我仍然没有看到选择时间戳的真正好理由?