【发布时间】:2018-12-30 00:58:47
【问题描述】:
我想更新一个日期字段并将其设置为2018-03-22 00:00:00,但我收到以下愚蠢的错误:
错误代码:1292。日期时间值不正确:第 158917 行的“日期”列的“2018-03-22 00:00:00”
这是我用于更新的查询:
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 年中的日期?这是我无法消化的东西。
是否有任何解决方案可以使这项工作正常进行?
【问题讨论】:
-
那个日期列是什么类型的?
-
@fvu 该列定义为 TIMESTAMP
-
请包含完整的查询。顺便问一下,你真的在使用 MySQL 吗?
-
@TimBiegeleisen 是的,伙计,我为什么要对那个 xD 撒谎,我更新了问题并添加了查询。
-
@NiVeR 是的,显然它可以在小提琴中使用,但在我的机器上却不行。我的情况和你的不同之处在于我的机器的时区是+3:30。
标签: mysql date datetime timezone dst