Msql:Incorrect double value: ''for column 'id' at row 1解決

Incorrect double value: ''for column 'id' at row 1解決html

 
最近在寫個查詢 插入語句的時候 我是這麼寫的 
 
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,
 
默認爲
 
1
sql-mode= "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

 

 
將其修改成
 
1
sql-mode= "NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

 

 
重啓mysql後便可
 
那麼若是是虛擬主機或者是空間怎麼辦了。若是你能讓空間商幫你改那是最好。
 
若是不能,那你就只能程序改改。都規範一點。空值就寫 null 代替吧。
相關文章
相關標籤/搜索