簡體   English   中英

MySQL-選擇並更新現有的錯誤0值(0000-00-00 00:00:00)以更正DateTime值

[英]MySQL - Select and Update existing wrong 0 Values (0000-00-00 00:00:00) to Correct DateTime Values

現有的“ DateTime”列中的DateTime值不正確。

值是“ 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'

我收到此錯誤消息:

datetime值不正確:第1行的“ my_datetime”列為“ 0000-00-00 00:00:00”

但是,如果我嘗試選擇值,則會得到結果。

SELECT * FROM `my_table`
WHERE `my_datetime` = '0000-00-00 00:00:00'

因此,如何將所有錯誤的值更新為NULL?

可以使用ALLOW_INVALID_DATES,因為Mysql 5.7非常嚴格。

SET sql_mode = 'ALLOW_INVALID_DATES';
UPDATE my_table
SET my_datetime = NULL 
WHERE my_datetime = '0000-00-00 00:00:00';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM