Field 'id' doesn't have a default value 原因

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的,但是沒有設置爲自增的!!或者數據定義的時候設置一個默認值就可以了。

轉載 https://blog.csdn.net/god8816/article/details/8593419

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章