最近在寫個查詢插入語句的時候我是這麼寫的:
插入測試值(“,行[contentid],'”。tn。“');
這個錯誤,一般我們是認為應該沒錯誤的。後來查了下MYSQL的資料。發現5以上的版本如果是空值應該要寫NULL
這種問題一般mysql 5.x上出現,我用的mysql5.1,官方解釋說:得知新版本mysql對空值插入有“bug”,要在安裝mysql的時候去除默認勾選的enable strict SQL mode,那麼如果我們安裝好了mysql怎麼辦了,解決辦法是更改mysql中的配置my.ini
的my.ini中查找SQL模式,默認為:SQL模式=“STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”,將其修改為
SQL模式=“NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”,
重啟的MySQL後即可,那麼如果是虛擬主機或者是空間怎麼辦了。如果你能讓空間商幫你改那是最好,如果不能,那你就只能程序改改。都規範一點。空值就寫null代替吧。
轉貼自: http://www.111cn.net/database/mysql/55857.htm