mysql正确修改my.ini的全局ONLY_FULL_GROUP_BY[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY

mysql正确修改my.ini的全局ONLY_FULL_GROUP_BY,使之生效

问题描述:

在数据库中执行任意update语句,更新可以成功,有受影响的行,但是就是报1055错误,百度来百度去还是下面这篇文章解释得最好,推荐给大家:
https://my.oschina.net/ChinaHaoYuFei/blog/2046070

在这里插入图片描述
在数据库中可以查询一下自己的sql_model是如何设置 的:

  1. 你可以用该语句查看:select @@global.sql_mode;
  2. 也有人用该语句查看:show variables like "sql_mode";

查过之后确实存在ONLY_FULL_GROUP_BY这一值。

解决办法:

可参考这篇博文:https://blog.csdn.net/lizhiyuan_eagle/article/details/93087320#commentBox
最好的办法都说找my.ini,该文件一般在你的mysql根目录下(绿色版自己新建的,本教程是根据绿色版自己建的my.ini的解决方案),然后没有的自己补上下面这句:

[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
  1. 注意!!!一定要把sql_mode=...补在[mysqld]下,否者mysql无法识别sql_mode=...,导致修改my.ini不起作用,网上没有什么人强调这个,博主在这里强调一下!!!
  2. 如果已存在上述需要修补的语句,就把sql_modeONLY_FULL_GROUP_BY这一值删去即可。
  3. 控制台键入net stop mysql回车,再键入net start mysql重启mysql即可(不要错把重启Navicat当成重启mysql)。

博主的my.ini配置文件补上的结果展示:
不单只补sql_mode=...,还有一句[mysqld]在它头上,这样才有效。
在这里插入图片描述

再次强调:

my.ini修补sql_mode=...时,要补在[mysqld]下!!!!
my.ini修补sql_mode=...时,要补在[mysqld]下!!!!
my.ini修补sql_mode=...时,要补在[mysqld]下!!!!

  • 不要重新初始化mysql,小心自己建的数据库被格式化删库。
  • 其他详见收藏夹。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值