最近在匯入資料庫時常發生這問題,我使用navicat備份個500MB的資料庫psc檔案,
在要匯入的時候出現這個錯誤,之前資料庫比較小的話我還可以透過將psc檔提取sql
來刪除它value: '0000-00-00'的部分,但是這份壓縮後還有500MB的psc檔提取sql
都會當機...想也知道提取出sql後會是好幾G,要用文字編輯來修改恐怕不太行...
想請教各位前輩,如何讓MySQL在匯入資料庫時忽略這個錯誤,或者更好的解決方案。
你可以用文字修改器,比如 sed ,將 '0000-00-00' 取代為 null,不過所有的 '0000-00-00' 都會變 null;或者是在匯入時,參數加上 -f 來忽略錯誤,繼續匯入,但該筆資料就會被忽略不匯入了。
所以治本的方法是,要更改你的欄位可以吃 '0000-00-00'。MySQL 的 date 欄位是可以吃 '0000-00-00' 的。因為你沒說你的欄位是什麼格式,也沒說你用什麼 MySQL 版本,所以你得自行查詢你用的版本是否可吃 0000-00-00。