Field 'id' doesn't have a default value


轉至:http://blog.csdn.net/q283595518/article/details/4122053

Field 'id' doesn't have a default value昨晚做項目的時候遇到一個問題,在測試數據存儲的時候老是報Field 'id' doesn't have a default value異常,從網上找了好久,根據各位大蝦的說法也測試了好久好久,可就是沒發現原因所在,鼓搗了兩三個小時的時間,最后總算找到問題所在:原來是我的數據設計的時候,把主鍵的類型定義為int的,原本想是用自增的方式來的,可是由於自己的粗心,寫sql語句的時候沒有加上auto_increment,所以在數據存儲的時候老是報Field 'id' doesn't have a default value,id根本就沒有值啊!!
加上自己從網上找的其他人說的他們遇到這種時候的原因,在這里總結一下:
1、打開my.ini,查找
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

修改為
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

然后重啟MYSQL

2、MySQL 5 uses a strict mode which needs to be disabled.
In Windows, Goto Start-->Programs-->MySQL->MySQL Instance Config Wizard. Follow through the Reconfigure Instance option-->Detailed Configuration-->Continue Next a few screens. At the bottom under Enable TCP/IP option there is 'Enable Strict Mode'. Deslect this option (no tick). Save changes and MySQL will restart.

3、看看你的數據庫定義的時候是不是把主鍵生成方式設置為int的,但是沒有設置為自增的!!或者數據定義的時候設置一個默認值就可以了。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM