這篇文章主要介紹了Mysql錯誤1366 - Incorrect integer value解決方法,本文通過修改字段默認值解決,需要的朋友可以參考下
由於這個數據庫服務器存放的數據庫比較多且都是小數據庫,所以最初的時候是運行在windows服務器上的。前一段時間由於機房服務器要做調整,於是我便在一個夜深人靜的夜晚對數據庫進行的遷移及前台應用程序進行了調整,調整結束後測試應用均可以正常訪問後我便離去了。
周一剛上班就收到反饋:網站後台發布文章報如下錯誤:
代碼如下:
insert into doc_main (title,typeid,uptime,intro,ifhot,imgurl1,doctype,fileurl1,shunxu,titleurl,qitype) values('test','13','2011-5-30','test','1','','0','','','','279')
原因分析過程:
起初我以為是數據庫文件出現了問題,但是比對新老數據庫文件後,沒有發現異常,初步判斷應該是數據庫應用程序的問題,於是我便把上面的這句SQL語句復制後直接在mysql服務器上執行,執行的結果是令人失望的,報了如下錯誤:
代碼如下:
[SQL] insert into doc_main (title,typeid,uptime,intro,ifhot,imgurl1,doctype,fileurl1,shunxu,titleurl,qitype) values('test','13','2011-5-30','test','1','','0','','','','279')
[Err] 1366 - Incorrect integer value: '' for column 'shunxu' at row 1
查看數據表後發現shunxu這個字段要求是整數,而默認是null,把它的默認值改為0。重啟mysql服務後,測試OK。