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根本就沒有值啊!! 加上本身從網上找的其餘人說的他們遇到這種時候的緣由,在這裏總結一下: 一、打開my.ini,查找 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改成 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 而後重啓MYSQL 二、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. 三、看看你的數據庫定義的時候是否是把主鍵生成方式設置爲int的,可是沒有設置爲自增的!!或者數據定義的時候設置一個默認值就能夠了。