首页 > 解决方案 > MySQL 中 TIMESTAMP 的确切最大值是多少?

问题描述

文件指出 -

TIMESTAMP 值的范围是“1970-01-01 00:00:01.000000”到“2038-01-19 03:14:07.999999”

但是当我尝试输入最大值时得到这个:

mysql> insert into integration_table (`TIMESTAMP`) VALUES ('2038-01-19 03:14:07.999999');
ERROR 1292 (22007): Incorrect datetime value: '2038-01-19 03:14:07.999999' for column 'TIMESTAMP' at row 1

如果我逐渐减小该值,则可以使用的最大值是'2038-01-19 03:14:07.499999'

我知道 MySQL 从 5.6.4 版开始支持微秒,所以这不是问题。

我是误解了什么还是这是一些配置问题?

谢谢

标签: mysql

解决方案


将列定义为TIMESTAMP意味着它不支持微秒,因此 0.5 及以上将被四舍五入,这使得该值超出范围。

该列需要定义为TIMESTAMP(6)支持 6 位微秒。


推荐阅读