mysql 5.7 sql_mode設(shè)置問(wèn)題
mysql 5.7 sql_mode 設(shè)置問(wèn)題
藍(lán)隊(duì)云小課堂:
問(wèn)題說(shuō)明
在mysql較低版本中,對(duì)SQL語(yǔ)句并沒(méi)有嚴(yán)格的限制檢查,在5.7及以上版本開(kāi)啟嚴(yán)格模式,在插入數(shù)據(jù)的時(shí)候,如果字段沒(méi)有設(shè)置默認(rèn)值,則會(huì)報(bào)類似于這樣的錯(cuò)誤:“Field ‘title’ doesn’t have a default value”。
解決方法
1 、查看sql_mode
select @@sql_mode
查詢出來(lái)的值為:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2 、修改 my.ini(Windows平臺(tái))或my.cnf(Linux平臺(tái))
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
在sql_mode 中去掉only_full_group_by
3 、如果還是不成功,可以設(shè)置為
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
更多小知識(shí),可聯(lián)系藍(lán)隊(duì)云一起探討。
會(huì)員登錄
賬號(hào)登錄 還沒(méi)有賬號(hào)?立即注冊(cè)