坑人的Mysql5.7 (默认不支持Group By语句)(转)
部署项目时,项目启动完毕。点击有group by 查询语句时出现错误,界面中没有该有的数据。查询log日志发现错误
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl.emp.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 。。。。
由于之前也没有记录,所以日志信息在网上找了一个大致一样的。
原因:
mysql 5.7 新特性:点击打开链接 默认是不支持GroupBy 语句的。
可以进入mysql 命令行中使用
mysql> SELECT @@GLOBAL.sql_mode;
进行查询
结果为:
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
所以我们需要做的就是将上面画红的属性注掉。
这里为了之后全局,重启之后也能生效,使用修改配置文件进行修改属性
(1)将这个 @@GLOBAL.sql_mode 设置为空
mysql> set @@GLOBAL.sql_mode='';
Query OK, 0 rows affected, 1 warning (0.00 sec)
(2)打开配置文件,这里mysql5.7 的配置文件很诡异,这里我的配置文件的路径为:/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_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
这样,之前项目中groupby 语句就可以使用了
坑人的Mysql5.7 (默认不支持Group By语句)(转)的更多相关文章
- iOS开发之Xcode 6更新默认不支持armv7s架构
最近一次的Xcode 6更新默认不再支持arm7s架构,究竟是要废除不用呢还是仅仅只是一个疏忽? 目前的Xcode 6配置里定义${ARCHS_STANDARD}为armv7, arm64,当然这个定 ...
- raphael 支持group(简)
raphael 不支持group,里面有的set方法,只是把对象数组存起来,方法调用的时候,遍历都调用下,但是在实际需求上面感觉group还是瞒有用处的,可以控制group下面的节点的交互 比如地图区 ...
- c# datatable.select() 支持group by
不支持group by ,支持order by.如果要使用group by的话,可以使用linq,这是C#3.0的内容.给你个示例static void Main(string[] args){ Da ...
- HIVE 不支持group by 别名
hive不支持group by 别名,如果需要group by 别名的情况,可以使用 别名的 值作为group by 的值
- .net core默认不支持gb2312
采集数据时,乱码,之前遇到过这个情况,于是老办法: 果断使用Encoding.GetEncoding(“GB2312”),抛异常.搜了下,是因为.net core默认不支持gb2312 所以,两个办法 ...
- Python基础教程(015)--Python2默认不支持中文
前言 Python2默认不支持中文 内容 市场上有Python2,和Python3, Python2的解释器不支持中文. 用Python3来运行文件. 错误信息 SyntaxError:Non-ASC ...
- Springboot 2.2.x 默认不支持put、delete等请求方式
springboot 2.2.x 默认不支持put delete等请 原因:springboot默认关闭了对它们的支持,只要在application.properties里面打开即可 spring.m ...
- group by 语句怎么优化?
一.一个简单使用示例 我这里创建一张订单表 CREATE TABLE `order_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `or ...
- 转换CLOB字段类型为VARCHAR2, lob类型不支持的sql语句
转自:https://blog.csdn.net/e_wsq/article/details/7561209 步骤: 1.建立一个临时varchar2字段用来保存数据 2.将clob的内容截取后更新到 ...
随机推荐
- wpf学习资料链接(做记录)
1.wpf快速入门系列:https://www.cnblogs.com/zhili/tag/WPF/
- pydev离线安装及安装后eclipse中不显示解决办法
eclipse插件安装方法(离线安装)pydev进入eclipse目录1.创建links目录2.复制压缩包到目录前解压3.在links目录下新建pydev.link文件(记事本修改后缀名即可)4.py ...
- 凤翔中学高三数学[备课&作业]
#tab{ font-size:22px ;font-family:楷体;text-align:center;} a:link { text-decoration: none;} 凤中2020届高三文 ...
- Unchecked runtime.lastError: The message port closed before a response was received.
这是由于某个 Chrome 扩展程序造成的. 打开 chrome://extensions/,逐一关闭排查.我这边是由于“迅雷下载支持”这个扩展引起的,将其关闭即可.
- Docer安装及简单使用
前提条件 如果是CentOS8,可以参考这篇文章centos8.0安装docker Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Docker 运行在 ...
- Hbase安装使用
启动Hadoop 启动Hbase jps 进入shell 建立表及使用
- Burp Suite 入门教程(BURP SUITE TUTORIAL )
参考链接1:https://www.pentestgeek.com/what-is-burpsuite 参考链接2:https://www.pentestgeek.com/web-applicatio ...
- Expect Command And How To Automate Shell Scripts Like Magic
In the previous post, we talked about writing practical shell scripts and we saw how it is easy to w ...
- 自定义Ribbon的负载均衡策略
自定义负载均衡策略 官方文档指出:自定义的负载均衡配置类不能放在 @componentScan 所扫描的当前包下及其子包下,否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,也就是说我们 ...
- java 执行 shell脚本通过mysql load data导入数据
1:load_data_test.sh #!/bin/sh load_data_log=/mnt/load_data_test/load.log load_sql="LOAD DATA LO ...