问题描述:
在 MySQL 5.7 以上的版本中 sql_mode 新加入了 only_full_group_by,导致我们在使用 group by 函数的时候,则会报错
举例说明:
SELECT
*
FROM
sys_user_info
GROUP BY
sex
解决方法:
方法一:
修改 sql 语句为:
SELECT
any_value ( id ) AS id,
any_value ( `name` ) AS `name`,
sex
FROM
sys_user_info
GROUP BY
sex
对于在 GROUP BY 语句中的字段,可以不用加 any_value,否则需要加上 any_value,但是这种方法对于我们已经开发好的项目,需要大量地去修改 sql 语句,所以很麻烦
方法二:
找到 /etc/my.cnf 文件,加入内容:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
修改后如下:
重启MySQL:
systemctl restart mysqld.service
如您在阅读中发现不足,欢迎留言!!!
最后
以上就是自信铅笔最近收集整理的关于MySQL中出现sql_mode=only_full_group_by问题解决的全部内容,更多相关MySQL中出现sql_mode=only_full_group_by问题解决内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复