MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案

解决方案一:使用函数ANY_VALUE()包含报错字段

SELECT ANY_VALUE(ID),USER_ID,ANY_VALUE(problems),ANY_VALUE(last_updated_date) FROM  t_iov_help_feedback GROUP BY USER_ID;

 

解决方案二:通过sql语句暂时性修改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_ENGINE_SUBSTITUTION';
重启mysql数据库服务之后,ONLY_FULL_GROUP_BY还会出现,所以这只是暂时性的。

解决方案三:通过配置文件永久修改sql_mode

2)编辑my.cnf文件
文件地址一般在:/etc/my.cnf,/etc/mysql/my.cnf
使用vim命令编辑文件,不知道vim命令怎么使用的,可以参考我的另外篇文章:Linux中使用vi工具进行文本编辑
找到sql-mode的位置,去掉ONLY_FULL_GROUP_BY
然后重启MySQL;
有的my.cnf中可能没有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服务

service mysql restart

重启好后,再登录mysql,输入SQL:show variables like ‘%sql_mode’; 如果没有ONLY_FULL_GROUP_BY,就说明已经成功了。

 


————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/u012660464/article/details/113977173

 

 

posted @ 2024-03-16 10:05  裸奔到月球  阅读(7)  评论(0编辑  收藏  举报