在別的服務器運行我的網(wǎng)站程序的時候,出現(xiàn)了Field 'id' doesn't have a default value 的提示,意思是這個值我沒有提交數(shù)據(jù),并且數(shù)據(jù)庫結(jié)構(gòu)沒有設置默認值,由于對方的mysql服務器開啟了STRICT_TRANS_TABLES嚴格模式,所以報錯了
解決方法是:
如果自己的服務器,有權(quán)限修改my.ini的話,打開my.ini,查找
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
修改為
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
然后重啟MYSQL
在別人的虛擬空間上當然不可能實現(xiàn),所以根本的解決方法還是修改自己的數(shù)據(jù)結(jié)構(gòu),把非空的字段加上默認值,以后設計數(shù)據(jù)庫要注意這一點,方便程序的移植