gpt4 book ai didi

mysql - MySQL 中的 '2018-03-22 00:00:00"有什么问题?

转载 作者:可可西里 更新时间:2023-11-01 08:02:21 25 4
gpt4 key购买 nike

我想更新日期字段并将其设置为 2018-03-22 00:00:00 但出现以下愚蠢错误:

Error Code: 1292. Incorrect datetime value: '2018-03-22 00:00:00' for column 'Date' at row 158917

这是我用于更新的查询:

update assets.transactions 
set date = date_add(date, interval 1 hour)
where date between '2018-03-21 23:00:00' and '2018-06-29 23:59:59';

怎么了?我搜索了很多,发现 MySQL 不支持 1970-01-01 00:00:01 之前的日期,这是可以接受的,但是 2018 年年中的日期?这是我无法消化的。

有什么解决方案可以使这项工作正常进行吗?

最佳答案

我猜您正在更新 TIMESTAMP 列。我还猜想您已将 MySQL 实例设置为在 2018 年 3 月 23 日进行夏令时切换的时区。我猜你所在国家/地区的时区切换规则意味着时钟从 21-March-2018 11:59:59 滚动到 22-March-2018 01:00:00。

所以值 2018-03-22 00:00:00 根本不存在。

很奇怪,不是吗?

尝试发出此 MySQL 命令,将时区设置为 UTC,然后再执行这些类型的大量时间戳更新。

SET time_zone = 'UTC';

不要忘记在进行其他操作之前将其切换回来。或者只是从不同的 MySQL 连接执行这些操作。

关于mysql - MySQL 中的 '2018-03-22 00:00:00"有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51464141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com