首页 > 数据库技术 > 详细

sql语句中出现group by 报错sql_mode=ONLY_FULL_GROUP_BY的解决方案

时间:2020-11-11 20:12:54      阅读:36      评论:0      收藏:0      [点我收藏+]
1、查看sql_mode

select @@sql_mode
查询出来的值为:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2、去掉ONLY_FULL_GROUP_BY,重新设置值。

 

 
set @@sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
 
,NO_ENGINE_SUBSTITUTION;
3、上面是改变了全局sql_mode,对于新建的数据库有效。对于已存在的数据库,则需要在对应的数据下执行:

set 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版本问题sql_mode=only_full_group_by的完美解决方案,希望对大家有所帮助.

===========================================================

有同学提出上边这种方式数据库重启后 设置会失效,确实是这样的,上边这种方式只是修改了内存中的值,不能永久改变。

想要永久解决问题需要在配置文件中

[mysqld]下面添加这段

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION  
windows 在安装目录下的my.ini 文件
Mac 或者Linux 在/ etc/my.cnf 下面应该是

总之就是在个人mysql配置文件中修改

 

https://blog.csdn.net/qq_27828675/article/details/80304274

sql语句中出现group by 报错sql_mode=ONLY_FULL_GROUP_BY的解决方案

原文:https://www.cnblogs.com/xiaofeilin/p/13960132.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!