不正確的日期時間值:解決MySQL 錯誤1292
在轉換日期時間值儲存為“0000-00-00 00”的現有資料庫時: 00:00',使用者可能會遇到MySQL 錯誤1292:「日期時間值不正確。」出現此錯誤的原因是原始 MySQL 資料庫(例如 5.1)和較新版本(例如 5.7)之間存在版本衝突,它們對日期時間值的處理方式不同。
要解決此問題,可以採取以下步驟:
選項1:將'0000-00-00 00:00:00' 轉換為NULL
ALTER TABLE users MODIFY created datetime NULL DEFAULT '1970-01-01 00:00:00';
如果失敗,請繼續執行選項2.
選項2:使用CHAR 轉換選項2:使用CHAR 轉換
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';
此替代查詢使用CAST 函數將日期時間值轉換為20 個字元的字串,並且僅更新結果與'0000-00-00 00:00相符的行: 00'.
更新完成後,您應該能夠成功修改資料庫表的字元集和排序規則,而不會遇到錯誤的日期時間值錯誤。
以上是如何修復 MySQL 錯誤 1292:「日期時間值不正確」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!