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",
重啟mysql後即可 那麼如果是虛擬主機或者是空間怎麼辦了。如果你能讓空間商幫你改那是最好。 如果不能,那你就只能程序改改。都規范一點。空值就寫 null 代替吧。