在別的服務(wù)器運(yùn)行我的網(wǎng)站程序的時(shí)候,出現(xiàn)了Field 'id' doesn't have a default value 的提示,意思是這個(gè)值我沒有提交數(shù)據(jù),并且數(shù)據(jù)庫結(jié)構(gòu)沒有設(shè)置默認(rèn)值,由于對方的mysql服務(wù)器開啟了STRICT_TRANS_TABLES嚴(yán)格模式,所以報(bào)錯(cuò)了
解決方法是:
如果自己的服務(wù)器,有權(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
在別人的虛擬空間上當(dāng)然不可能實(shí)現(xiàn),所以根本的解決方法還是修改自己的數(shù)據(jù)結(jié)構(gòu),把非空的字段加上默認(rèn)值,以后設(shè)計(jì)數(shù)據(jù)庫要注意這一點(diǎn),方便程序的移植