1. 程式人生 > >MySQL關於Incorrect datetime value的分析、解決過程

MySQL關於Incorrect datetime value的分析、解決過程

ERROR 1292 (22007): Incorrect datetime value: '1' for column 'strat_use_date' at row 1

資料檔案內容如下,單從欄位'strat_use_date'來看,其資料型別是datetime,同時輸入的值也是有效的日期時間資料。

那麼其中的原因是什麼呢,不能簡單的從該欄位入手,而是要結合該欄位前後欄位一起分析,於是我用了一個匯入動作的逆向——匯出動作,生成匯出資料與該資料檔案作個對比,以找出其中的差異。

為了便於說明問題,新舊資料都只選了一條資料,其中上面的是新匯出資料,下面一行是資料檔案資料,對比發現,欄位'strat_use_date'前一欄位不一致,新生成的\\,而資料檔案中的資料 是\,於是將資料檔案的\替換成\\,再次執行匯入動作,如下可見,資料成功匯入表中。

總結:

       1、在字串中,字元\表示轉義字元,當明確指定它是字元本義,則需連續兩個\\。

       2、當提示資料型別不正確時,應首先核實出錯欄位的型別是否匹配,然後檢查其值是否合法有效。

       3、若上步驗證正確,則需結合出錯欄位前一欄位,進行排查。