sql mode 问题及解决 错误代码:1055 this is incompatible with sql_mode=only_full_group_by
数据库升级到5.7.21后,一个正常的分组后按日期排序,并返回数据的语句开始报错:
语句如下:
SELECT id,title,add_time FROM `message` GROUP BY add_time ORDER BY add_time DESC;
异常如下:
错误代码: 1055
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'miniodb.nhb_message.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
出现这个异常的原因是MYSQL5.7.5之后开启了原来默认关闭的SQL mode:ONLY_FULL_GROUP_BY.开启这个模式会造成mysql拒绝查询非聚合操作列,即没有通过group by进行分组的列,无法直接在select,having,order by条件下使用;
解决方式有三种:
1 直接将版本降级到5.7.5以下,简单粗暴,但就是有点low;
2 使用ANY_VALUE()方法显示非聚合列;这个方法将聚合操作还原为5.7.5之前版本;
使用方式:
SELECT ANY_VALUE(id),ANY_VALUE(title),add_time FROM `message` GROUP BY add_time ORDER BY ANY_VALUE(add_time) DESC;
3 最终,如果没有替代方法,再修改SQL mode;
# 修改
SET GLOBAL sql_mode = 'modes'; #需要超级权限,会影响修改后的所有连接客户端
SET SESSION sql_mode = 'modes'; #只影响当前客户端,可以随时修改
# 查询
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
修改SQL mode会影响用户分区表:
如果在分区表中有数据的情况下,修改SQL mode会导致表行为发生重大变化,可能导致数据损坏或丢失.官方建议在使用用户分区表后,不要修改SQL mode;
主从复制情况下,要注意保证主从服务器的SQL mode一致;
参考文档:
MYSQL服务器SQL Mode: https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by
MYSQL的GROUP BY处理: https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
sql mode 问题及解决 错误代码:1055 this is incompatible with sql_mode=only_full_group_by的更多相关文章
- sql查询出现1055 this is incompatible with sql_mode=only_full_group_by
今天在测试服务器上突然出现了这么一个MySQL的问题,同样的代码正式服没有问题,那肯定就是出在了配置上,查了一下原因才明白原来是数据库版本为5.7以上的版本, 默认是开启了 only_full_gro ...
- Error Code: 1055 incompatible with sql_mode=only_full_group_by
OperationalError at / (1055, "Expression #1 of ORDER BY clause is not in GROUP BY clause and co ...
- mysql 执行报错:Error querying database. Cause: java.sql.SQLSyntaxErrorException:which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
1.这个错误发生在mysql 5.7 版本及以上版本会出现的问题: mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严 ...
- Mysql 分组查询出现'this is incompatible with sql_mode=only_full_group_by'的解决办法
由于Mysql自动开启了 only_full_group_by,所以若查询的字段不在group by里面,则分组报错. 解决办法其一:mysql配置,关闭only_full_group_by,这种办法 ...
- 执行sql语句后报1055-- this is incompatible with sql_mode=only_full_group_by
这个问题是mysql5.7中存在的问题,查看原因,在任意库执行select @@sql_mode,查到的结果为ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZER ...
- #1055 ... sql_mode=only_full_group_by
sql_mode=only_full_group_by 版权声明:本文为参考多篇博主文章,略作测试修改. 参考文章: 猿医生 的<5分钟学会MySQL-this is incompatible ...
- mysql group by 过滤字段 只能在SELECT 后面出现,不能写其他字段 报错解决 关键字 sql_mode=only_full_group_by
1:报错 关键字 sql_mode=only_full_group_bymysql> select uuid,ip,count(*) from dbname_report.t_client_i ...
- 解决sql_mode=only_full_group_by的问题
1.mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_ ...
- Spring3+MyBatis3整合log4j无法输出SQL语句问题的解决
今天遇到了跟下面文章一模一样的问题,下面文章的解决方案很好,在这里记录保存一下. Spring3+MyBatis3整合无法输出SQL语句问题的解决
随机推荐
- 使用隔离级别read committed隐式解决并发冲突
1.使用rc的弊端:出现不可重复读 Oracle不可重复读 Oracle丢失修改 Oracle幻读 任何数据库的update insert delete都加排它锁 sql server的selec ...
- IdentityServer4同时使用多个GrantType进行授权和IdentityModel.Client部分源码解析
首先,介绍一下问题. 由于项目中用户分了三个角色:管理员.代理.会员.其中,代理又分为一级代理.二级代理等,会员也可以相互之间进行推荐. 将用户表分为了两个,管理员和代理都属于后台,在同一张表,会员单 ...
- MSSql-SP_who分析数据库性能
https://blog.csdn.net/xiaoxu0123/article/details/5757640 https://www.cnblogs.com/kelelipeng/p/104959 ...
- elementUI动态数据表格(带分页)
index.vue <template> <div> <el-table ref="multipleTable" :data="tableD ...
- datatables初始化用法
var recordTable = $('#record_table').DataTable({ "fnInitComplete": function () { //表格初始化完成 ...
- 8.Redis的复制(Master/Slave)
Redis的复制(Master/Slave) a)是什么 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave ...
- MacOS文本编辑无法打不开GB18030
不要直接双击打开 而是 打开sublime text或者其他文本编辑后,从软件里面的open选型打开
- Linux中找回误删除的文件
Linux中找回误删除的文件 作为一个多用户.多任务的Linux操作系统,会出现在没有备份的情况下将一些用户文件误删的情况,Linux下的文件一旦被删除,是难以恢复的.尽管删除命令只是在文件节点中作删 ...
- HBuilderX 5+APP MUI 入门
这一套东西是用来开发app的,可以用html.js什么的写app然后给你打包就能安装到手机上,也可以轻易跨端(需要使用vue,然而我还没有熟练). HBuilder:一个敲代码的软件,敲前端代码超级方 ...
- webpack4.0打包优化策略整理小结
本文转载于:https://www.jb51.net/article/137449.htm 介绍了webpack4.0打包优化策略整理小结,分享给大家,具体如下: webapck4 新特性介绍-参考资 ...