MySql关闭ONLY_FULL_GROUP_BY模式

ONLY_FULL_GROUP_BY:该模式要求在执行包含GROUP BY子句的SQL查询时,SELECT子句中的非聚合列必须是出现在GROUP BY子句中的字段。

1、先通过系统变量@@sql_mode来确认ONLY_FULL_GROUP_BY模式是否已启用

select @@sql_mode

在查询的结果中,如果有ONLY_FULL_GROUP_BY关键字,就表示已开启。

2、永久关闭 ONLY_FULL_GROUP_BY模式

找到mysql配置文件

windows一般在C:\ProgramData\MySQL\MySQL Server x.x下

inux一般在/etc/mysql/目录下,文件名为my.cnf,或者位于/etc/mysql/mysql.conf.d/目录下,文件名为mysqld.cnf

编辑配置文件,增加以下配置:

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

 (即第一步查询出来的结果,去掉ONLY_FULL_GROUP_BY)

异常及解决:windows环境,如果改完配置文件,mysql服务重启不起来,可能是文件编码问题,另存为 ANSI编码文件,替换原来的配置文件即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值