之前用的是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_SUBSTITUTION
5.6版本的值为:STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

最新文章

  1. Mac 安装 MySQL
  2. Android: 触屏fling/scroll/drag的区别及其详细过程
  3. PHP中对数据库操作的封装
  4. Eziriz.Net.Reactor使用注意事项
  5. heidsoft logo
  6. NDIS IM 驱动那些事情
  7. redis的hash操作在集中式session中的应用
  8. WordPress D8 主题当中截取文章首图并显示的函数
  9. mac下的改装人生——制作mac os 启动盘
  10. EF简介
  11. MVVM模式下 DataTemplate 中控件的绑定
  12. 【C语言编程练习】7.1 线型表就地逆置
  13. Ubuntu16.04安装MongoDB的Ruby驱动
  14. centos7 tomcat8+jdk1.8
  15. nodejs + typescirpt + vs code
  16. jmeter之ip欺骗
  17. CAD常用的快捷键命令
  18. html的textarea默认文案实现换行
  19. Extjs4处理后台json数据中日期和时间的方法
  20. 1008. [HNOI2008]越狱【快速幂】

热门文章

  1. 故障案例:主从同步报错Fatal error: The slave I/O thread stops because master and slave have equal MySQL server
  2. 牛客NOIP提高组(二)题解
  3. 1044 拦截导弹 1999年NOIP全国联赛提高组 个人博客:attack.cf
  4. Kendo MVVM 数据绑定(五) Events
  5. ABAP事件分类
  6. JS根据选择的日期计算年龄
  7. Js中的字符串/数组中常用的操作
  8. HDU 4055 The King’s Ups and Downs(DP计数)
  9. MYSQL内置函数总结
  10. OpenCascade:Topo类型转换