代码之家  ›  专栏  ›  技术社区  ›  AvnerSo

MySQL中时间戳的最大值是多少?

  •  0
  • AvnerSo  · 技术社区  · 6 年前

    这个 documentation 声明-

    时间戳值的范围是'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版本是 mysql Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL) (在Docker中运行)
    • 列定义为 `TIMESTAMP` timestamp NULL DEFAULT NULL,
    • 表定义为 ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

    我知道MySQL支持5.6.4版以来的微秒级,所以这不是问题所在。

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

    谢谢

    1 回复  |  直到 6 年前
        1
  •  2
  •   AvnerSo    6 年前

    TIMESTAMP

    TIMESTAMP(6)