mysql 5.7.19 插入数据异常

mysql 5.7.19 插入数据异常,异常如下:

1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 

'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; 

this is incompatible with sql_mode=only_full_group_by


解决方法:
方法一:修改my.cnf文件(linux版本是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.cnf。win下的是my.ini,一般会在安装目录的根目录)
在sql_mode 中去掉only_full_group_by,需要重新启动MySQL服务才能生效。


方法二:

1.查看sql_mode

SELECT @@sql_mode

SELECT @@GLOBAL.sql_mode;

SELECT @@SESSION.sql_mode;

查询出来的值为:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

2.去掉ONLY_FULL_GROUP_BY,重新设置值

set @@global.sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))

set @@global.sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

3.上面是改变了全局sql_mode,对于新建的数据库有效。对于已存在的数据库,则需要在对应的数据下执行:

set sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))

set sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'


注:方法二修改完成后,如果你重启Mysql服务的话,发现ONLY_FULL_GROUP_BY还是会存在的。推荐使用方法一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值