Mysql8.0.16 only_full_group_by
【1】Mysql8.0.16 关于only_full_group_by问题
应公司业务的需求,安装了Mysql8.0.16版本,原来在Mysql5.6版本执行无恙的SQL语句:
SELECT product_id, call_type, SUM(service_fee) AS un_total_fee, SUM(duration) AS total_duration, COUNT(*) AS total_times, source, SUM(np_fee) AS np_total_fee, NOW() AS current FROM view_dat_sdr_201903 ) ) GROUP BY call_type;
在新的服务器上跑出了这个错误:
error : Expression #6 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'billing.view_dat_sdr_201903.source' which is not functily dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
经查询,默认开启了only_full_group_by选项。
【2】解决方案
想办法关闭该选项即可。
注意:Mysql8.0.16版本有个现象:
session sql_mode的值是空
SHOW VARIABLES LIKE '%sql_mode%';
即利用如上SQL命令查询的sql_mode值为空。
但是 global sql_mode的值非空。利用如下SQL命令查询:
SHOW GLOBAL VARIABLES LIKE '%sql_mode%';
sql_mode值如下:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
重置global sql_mode的值:
SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Good Good Study, Day Day Up.
顺序 选择 循环 总结
最新文章
- 3sum问题的解决
- mybatis 中#{}与${}的区别
- Lingo 做线性规划 - DEA
- appium跑demo简单实例讲解
- css3字阴影text-shadow
- HTML的简单介绍
- 《Java程序员面试笔试宝典》之Static关键字有哪些作用
- Android5.0+(CollapsingToolbarLayout)
- asp.net 连接sqlserver数据库
- HDU<;1372>;/bfs
- [Linux] PHP程序员玩转Linux系列-自动备份与SVN
- Vue.js用法详解(一)更新中~
- bzoj 3669: [Noi2014] 魔法森林 LCT版
- linux之hdparm命令说明及其测试硬盘读写速度
- python基础--absl.flags
- Linux 学习之路 --------ip地址虚拟网络
- Flume配置文件写法总结
- Fabric 1.0交易流程
- TimelineJS JSON 数据格式 - 译文 [原创]
- ARC下block使用情况