這個錯誤是由於 MySQL 不允許 '0000-00-00 00:00:00'
作為有效的 TIMESTAMP
值。你可以先查詢出這些值並逐步更新,或者將 0000-00-00 00:00:00
轉換為合法的日期格式。
你可以試試以下的更新方法,這會過濾出 DateTime
為 '0000-00-00 00:00:00'
的記錄,並將它們更新為 '2000-01-01 00:00:00'
:
UPDATE `TABLE`
SET `DateTime` = '2000-01-01 00:00:00'
WHERE `DateTime` < '1970-01-02 00:00:00';
這樣可以避開無效的時間戳值,同時更新 DateTime
為 '2000-01-01 00:00:00'
。如果還是遇到問題,可以考慮使用 DATETIME
類型替代 TIMESTAMP
,或調整數據庫的 SQL 模式允許 '0000-00-00 00:00:00'
這樣的值。