mysql中未来日期的日期时间值不正确

Mic*_*ang 6 mysql

MySQL语句:

insert into `banners` 
    (`path`, `app_id`, `enabled`, `from_date`, `to_date`, `updated_at`, `created_at`) 
values 
    ('banners/example.png', 'com.example.ccp_attacker', 1, '2000-01-01 00:00:00', '2099-12-31 00:00:00', '2100-06-04 00:00:00', '2100-06-04 00:00:00')
Run Code Online (Sandbox Code Playgroud)

产生错误 #1292 - Incorrect datetime value: '2100-06-04 00:00:00' for column 'updated_at' at row 1

为什么 2100-06-04 00:00:00 不是有效时间?

oma*_*yed 4

MySQL 日期不超过 2038。这是一个非常老的问题,由于某种原因,他们没有解决它。MySQL 中可接受的日期的最大值是2038。当我遇到这个问题时,我将日期保存在 MySQL 中,varchar然后在业务逻辑中将其转换为日期。

  • 有关 [2038 年错误](/sf/ask/140881261/) 的更多信息。 (2认同)