我是靠谱客的博主 自信铅笔,这篇文章主要介绍MySQL中出现sql_mode=only_full_group_by问题解决,现在分享给大家,希望可以做个参考。

问题描述:

在 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问题解决内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部