在使用mysql插入數據時提示解決Incorrect integer value: for column id; at row 1錯誤,下面我們一起來查看此問題解決方法.
最近在寫個查詢插入語句的時候我是這么寫的:
insert into test values(”,row[contentid],′”.tn.”‘);
結果搞死沒插入進去 然后我 mysql_error() 了一下 就報,Incorrect integer value: ” for column ‘id’ at row 1 這個錯誤,一般我們是認為應該沒錯誤的,后來查了下MYSQL的資料,發現5以上的版本如果是空值應該要寫NULL.
這種問題一般mysql 5.x上出現,我用的mysql5.1,官方解釋說:得知新版本mysql對空值插入有”bug”,要在安裝mysql的時候去除默認勾選的enable strict SQL mode,那么如果我們安裝好了mysql怎么辦了,解決辦法是更改mysql中的配置 my.ini
my.ini中查找sql-mode,默認為:sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”,將其修改為如下代碼:
sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”//Vevb.com
重啟mysql后即可,那么如果是虛擬主機或者是空間怎么辦了,如果你能讓空間商幫你改那是最好,如果不能,那你就只能程序改改,都規范一點,空值就寫 null 代替吧.
新聞熱點
疑難解答