mysql版本是8.0.012
升级后发现写个简单的group by语句都报错
sql:select * from table名 group by sex;
报错信息:
of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘fenxiangniu.stu.stuno’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
查了很多资料方式一只能改当前,治标不治本,重启又会报错,命令行改不好改,不如直接修改配置文件。而MySQL8的版本没有my.cnf 文件
所有最终找到解决办法就是在mysql安装目录下的my.ini文件的【mysqld】下加上如下语句


加上的内容为:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
然后完美解决,记得重启以下MySQL服务 window+R打开命令行,net stop mysql(关闭MySQL) net start mysql(打开MySQL服务)就好了,如果显示命令无效,那就是没有权限,右键管理员权限打开就好了

升级到MySQL8.0.12后遇到GROUP BY语句错误,错误信息提示与sql_mode=only_full_group_by不兼容。通过修改my.ini配置文件,在[mysqld]部分添加sql_mode参数解决此问题,添加内容为:sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION。重启MySQL服务后问题得到解决。
785

被折叠的 条评论
为什么被折叠?



