程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql錯誤1366 - Incorrect integer value解決方法,1366incorrect

Mysql錯誤1366 - Incorrect integer value解決方法,1366incorrect

編輯:MySQL綜合教程

Mysql錯誤1366 - Incorrect integer value解決方法,1366incorrect


由於這個數據庫服務器存放的數據庫比較多且都是小數據庫,所以最初的時候是運行在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。

當然你也可以參照本博客中的《MySQL 5不能創建自動增加的字段》文章,注釋掉sql-mode也可解決上述問題。


MYSQL報錯:Incorrect integer value

tj是整數類型,那麼不能賦值為'',可以是NULL或者0。

insert into r_news (title,body,date,user,menu,language,tj,keyword,guestbook) values ('wegsdfgs','gfsdfgsdgfsdgf','2009-05-26','cscs','47','cn','','','')

語句修改為:

insert into r_news (title,body,date,user,menu,language,tj,keyword,guestbook) values ('wegsdfgs','gfsdfgsdgfsdgf','2009-05-26','cscs','47','cn',0,'','')
 

MySql的ERROR 1366 (HY000): Incorrect string value:問題怎解決?

你還需要把表的字符集也改下,
alter table tbname convert to charset gbk;
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved