mysql 使用 GROUP BY 时报错 ERROR 1055 (42000)

今天在使用 mysql 测试数据库语句时发现使用 GROUP BY 字句居然报错 ERROR 1055 (42000),如下图所示:


百度之后发现这是  mysql5.7 中 only_full_group_by 这个模式是默认开启的导致出错的。

解决方法:

1、最直接方法时直接一句话设置搞定:

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
结果打开 my.ini 查看如下,可以正常使用 group by 了。好像没去掉only_full_group_by也可以。


后来通过测试发现这种修改只是暂时性的,还是在 my.ini 文件中的sql-mode直接修改比较好。


2、使用语句查询 sql_mode 的值再到 my.ini(windows)或my.cnf(linux)配置文件找到 sql-mode 中注释(去掉)only_full_group_by,加上刚才查询到的值。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值