錯誤原因:MySQL 5.7 版本及以上版本默認(rèn)的sql配置: sql_mode中包含 "ONLY_FULL_GROUP_BY" 這個配置嚴(yán)格執(zhí)行了 "SQL92標(biāo)準(zhǔn)"。 所以數(shù)據(jù)庫的升級有可能會導(dǎo)致本地的sql執(zhí)行報(bào)錯。
解決方案: 1.優(yōu)化sql,使其符合"SQL92標(biāo)準(zhǔn)" 2.去掉 "ONLY_FULL_GROUP_BY" 這個配置
1.查看sql_model語句
select @@GLOBAL.sql_mode;
暫時性去掉ONLY_FULL_GROUP_BY
set @@GLOBAL.sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
永久性去掉ONLY_FULL_GROUP_BY
修改mysql配置文件,my.cnf位于etc文件夾下,vim下添加sql_mode如下:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
修改完成后,重啟mysql服務(wù)。
名稱欄目:問題:only_full_group_by
標(biāo)題網(wǎng)址:
http://weahome.cn/article/gcssie.html