【发布时间】:2016-08-22 15:17:18
【问题描述】:
现有“日期时间”列的日期时间值不正确。
值为“0000-00-00 00:00:00”。
因此,我以这种方式更改我的表:
ALTER TABLE `my_table` MODIFY `my_datetime` DATETIME DEFAULT NULL;
现在我想将错误的值更新为 NULL。
但是这个查询不起作用:
UPDATE `my_table`
SET `my_datetime` = NULL
WHERE `my_datetime` = '0000-00-00 00:00:00'
我收到此错误消息:
日期时间值不正确:列的“0000-00-00 00:00:00” 第 1 行的“my_datetime”
但如果我尝试选择值,我会得到结果。
SELECT * FROM `my_table`
WHERE `my_datetime` = '0000-00-00 00:00:00'
那么如何将我所有的错误值更新为 NULL?
【问题讨论】:
-
Values are "0000-00-00 00:00:00"....不容易,因为smallest supported year is 1000。 -
是的,问题是这种格式现在在我的表中......所以我必须更正它,但我不知道如何。
-
嗯...
SELECT MIN(my_datetime) FROM my_table向您展示了什么? -
我得到了“0000-00-00 00:00:00”。