之前用的是mysql 5.6版本,执行select * from table group by colunm 是可以出结果的,

但是切换的5.7版本,这条sql就报错,

Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.xxxxx.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

其实相对于语法来说,非聚集字段不能出现在查询列表中,这条sql本身就是错误的,那么为什么5.6mysql可以执行呢?

找了好久发现是原来是sql mode的数据库数据类型的问题。

5.7开始,mysql就开始严格遵从SQL 92规范,凡事没有遵循规范的sql都不予执行,当然可以通过配置修改成5.6版本的值,但是本人不建议这么做。

可以通过sql查询出当前sql mode值

select @@GLOBAL.sql_mode;--查询全局值

select @@SESSION.sql_mode; --查询当前会话值

5.7版本的值为: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_SUBSTITUTION5.6版本的值为:STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

mysql 5.6 5.7不兼容_同一条sql在mysql5.6和5.7版本遇到的问题。相关推荐

  1. mysql 5.6 5.7不兼容_同一条sql在MySQL数据库5.6和5.7版本遇到的问题

    本文主要向大家介绍了同一条sql在MySQL数据库5.6和5.7版本遇到的问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 之前用的是mysql 5.6版本,执行select ...

  2. mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢

    一条 SQL 查询语句执行的很慢,那是每次查询都很慢呢?还是大多数情况下是正常的,偶尔出现很慢呢?可以分以下两种情况来讨论. 大多数情况是正常的,只是偶尔会出现很慢的情况. 在数据量不变的情况下,这条 ...

  3. mysql in 宕机_一条SQL引起的mysql宕机

    背  景 MySQL引入了Materialization(物化)这一关键特性用于子查询(比如在IN/NOTIN子查询以及 FROM子查询)优化,其关键点在于对子查询只需要执行一次.具体实现方式为: 在 ...

  4. 讲mysql执行流程书籍_MySQL 基础架构 1. 一条SQL查询语句的执行过程(个人学习笔记)...

    MySQL的逻辑架构图: MySQL 大体分为 "server 层" 和 "存储引擎层" 两部分: Server 层 包括 连接器.查询缓存.分析器.优化器.执 ...

  5. 执行sql语句_一条SQL查询语句是如何执行的?

    本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构. 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_inf ...

  6. 在sql server 发生未指定的错误_一条sql查询是怎么执行的?

    作为一个资深CRUD boy,对于mysql想必都比较熟悉.但很多人估计和我一样对于一条简单的sql语句可以熟练的使用,但要问起里面怎么执行的,可能大部分分人就懵逼了. 因此本文就就将分析一下一条基本 ...

  7. .sql文件如何执行_一条SQL查询语句是如何执行的?

    导读 Mysql在中小型企业中是个香饽饽,目前主流的数据库之一,几乎没有一个后端开发者不会使用的,但是作为一个老司机,仅仅会用真的不够. 今天透过一个简单的查询语句来讲述在Mysql内部的执行过程. ...

  8. sql重复数据只保留一条_一条SQL完成跨数据库实例Join查询

    背景 随着业务复杂程度的提高.数据规模的增长,越来越多的公司选择对其在线业务数据库进行垂直或水平拆分,甚至选择不同的数据库类型以满足其业务需求.原本在同一数据库实例里就能实现的SQL查询,现在需要跨多 ...

  9. bat如何执行完上一条命令_一条SQL查询语句是如何执行的?

    本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构. 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_inf ...

最新文章

  1. 【一个好的总经理必做的四件事】
  2. 力扣--统计全1子矩阵
  3. Struts2 简介
  4. 配置Chrome支持本地(file协议)的AJAX请求
  5. C++.Templates学习总结归纳1
  6. Hadoop如何工作? HDFS案例研究
  7. Tensorflow入门神经网络代码框架
  8. wpf Webbrowser 乱码问题及弹窗被遮挡
  9. springmvc进不到controller_Spring、SpringMVC、MyBatis的整合
  10. VMware vCenter Server 的内部版本号和版本 (2143838)
  11. mysql限制用户只能访问指定数据库
  12. Composite UI Application Block(Cab)比较详细的一片文章
  13. EJB2的3本好书第3本 EJB Cookbook
  14. PCB绘图不小心把绘图界面缩小到看不见了,如何操作?
  15. Java类加载机制--类加载过程(加载)
  16. xml的三种解析方法
  17. 〇、什么是全栈工程师
  18. python add picture显示过大_利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例...
  19. 【Oracle】6.JDBC
  20. Android.view.View类全貌【思维导图】

热门文章

  1. python编程制作接金币游戏_一个简单的pygame接金币游戏
  2. python循环嵌套的外循环必须完全包含内循环_Python:循环与嵌套循环实现规律数列...
  3. c++ 二次开发 良田高拍仪_六枝特良田LYV-850加工中心导轨配套防护罩日常维修
  4. WebLogic11g 安装配置规范
  5. 高性能MySQL(2)——Schema与数据类型的优化
  6. 通过Flume简单实现Kafka与Hive对接(Json格式)
  7. Save the Room【找规律】
  8. Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
  9. CSharpGL(49)试水OpenGL软实现
  10. debian8.8安装谷歌浏览器