【问题标题】:MySql TIMESTAMP error: Data truncation: Incorrect datetime valueMySql TIMESTAMP 错误:数据截断:日期时间值不正确
【发布时间】:2020-08-28 21:41:55
【问题描述】:

我有一张这样的桌子:

    CREATE TABLE event (
                       id              BIGINT          NOT NULL AUTO_INCREMENT PRIMARY KEY,

                       name            VARCHAR(80)     NOT NULL,                       
                       start_datetime  TIMESTAMP       NOT NULL DEFAULT '1970-01-01 00:00:01',
                       end_datetime    TIMESTAMP       NOT NULL DEFAULT '1970-01-01 00:00:01',

                       description     TEXT,                      

                       created         TIMESTAMP(3)    NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
                       modified        TIMESTAMP(3)    NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)

);

插入这条新记录时没有错误:

insert into event (name, start_datetime, end_datetime)
value
('myName', '2020-01-05 18:00:00', '2020-01-07 23:59:00')
;

但是这条记录抛出错误:

insert into event (name, start_datetime, end_datetime)
value
('myName', '2045-01-05 18:00:00', '2045-01-07 23:59:00')
;

错误是

Data truncation: Incorrect datetime value: '2045-01-05 18:00:00' for column 'start_datetime' at row 1

有人可以帮忙吗? 非常感谢!

更新: 在 MySql 文档中找到了这个: TIMESTAMP 数据类型用于同时包含日期和时间部分的值。 TIMESTAMP 的范围为 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。

所以我猜2045年太远了……

【问题讨论】:

  • 所以你自己找到了答案。您不妨将其发布为答案,因为您实际上是第一个!

标签: mysql sql timestamp sql-insert mysql-error-1064


【解决方案1】:

tmestamp 仅适用于

TIMESTAMP 数据类型用于同时包含日期和时间部分的值。 TIMESTAMP 的范围为 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。

对于“较大的日期切换到 DATETIME

DATETIME 值的范围是“1000-01-01 00:00:00.000000”到“9999-12-31 23:59:59.999999”

更多信息请咨询manual

【讨论】:

    【解决方案2】:

    来自MySQL documentation

    TIMESTAMP 值的范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。

    问题是 TIMESTAMP 列不允许使用 2045 年。

    【讨论】:

      【解决方案3】:

      回答我自己的问题(如原始问题的更新部分) 在 MySql 文档中发现:TIMESTAMP 数据类型用于包含日期和时间部分的值。 TIMESTAMP 的范围为 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-23
        • 2018-10-25
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多