在mysql 工具 搜索或者插入数据时报下面错误:
ERROR 1055 (42000): 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
原因:
看一下group by的语法:
select 选取分组中的列+聚合函数 from 表名称 group by 分组的列 
从语法格式来看,是先有分组,再确定检索的列,检索的列只能在参加分组的列中选。
我当前Mysql版本5.7.17,
再看一下ONLY_FULL_GROUP_BY的意思是:对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中,也就是说查出来的列必须在group by后面出现否则就会报错,或者这个字段出现在聚合函数里面。
查看mysql版本命令:select version();
查看sql_model参数命令:
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.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
第一项默认开启ONLY_FULL_GROUP_BY,
解决方法:
1.只选择出现在group by后面的列,或者给列增加聚合函数;(不推荐)
2.命令行输入:
set @@GLOBAL.sql_mode='';
set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
默认关掉ONLY_FULL_GROUP_BY!
这个时候 在用工具select 一下
SELECT @@sql_mode;
SELECT @@GLOBAL.sql_mode;
发现已经不存在ONLY_FULL_GROUP_BY ,感觉已经OK。但是如果你重启Mysql服务的话,发现ONLY_FULL_GROUP_BY还是会存在的
想要彻底解决这个问题 就得去改my.ini 配置(如果你们mysql 没有这个文件,就把my-default.ini 改成my.ini,我这个版本就是没有my.ini配置问题)
在 [mysqld]和[mysql]下添加
 sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
本文摘自:https://www.cnblogs.com/jim2016/p/6322703.html

转载于:https://www.cnblogs.com/jiafeimao-dabai/p/9901108.html

mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by相关推荐

  1. mysql5.7 gruop by报错this is incompatible with sql_mode=only_full_group_by

    解析:在mysql 工具 搜索或者插入数据时报下面错误: ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY cla ...

  2. MySQL报错this is incompatible with sql_mode=only_full_group_by

    1.报错信息 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In aggregated query without GROUP ...

  3. mysql升级到5.7版本后,运行程序报错this is incompatible with sql_mode=only_full_group_by

    升级mysql后,运行程序报错 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains ...

  4. MYSQL8.0 排序查询报错 this is incompatible with sql_mode=only_full_group_by

    编辑mysql配置文件(windows是my.ini, linux是my.cnf),在 [mysqld]下增加如下配置: sql_mode ='STRICT_TRANS_TABLES,NO_ENGIN ...

  5. mysql命令行安装报错_centos命令行安装mysql随机密码查看方法(遇到问题及其解决办法)...

    mysql初次命令行安装登录时报错: 未输入密码:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwo ...

  6. mysql命令导入存储过程报错_mysql导入存储过程时declare报错的有关问题解决

    在导入存储过程时经常遇见下列DECLARE报错的问题: ? Error Code : 1064 You have an error in your SQL syntax; check the manu ...

  7. mysql full group by_MySql报错only_full_group_by的解决办法

    前段时间我在一个新环境里部署程序时遇到MySql报错only_full_group_by,之前已经遇到过一次同样的问题,当时没有总结经验,导致这次解决时耗费了不少时间,这里把本次的处理过程进行记录总结 ...

  8. centos6.4安装apache php mysql_CentOS 6.4配置Apache+PHP5+MySQL(lamp)环境以及报错处理思路...

    CentOS 6.4配置Apache+PHP5+MySQL(lamp)环境以及报错处理思路 2015-07-14 13:06:12来源: 阅读 () Centos是linux下的一款系统了,下面我来介 ...

  9. mysql字段超长会报错吗_MySQL使用过程中的报错处理(持续更新)

    MySQL使用过程中的报错处理(持续更新) 一.数据库初始化 1.Percona的MySQL 5.6.20版本数据库初始化 初始化命令(MySQL 5.6版本不适用mysqld命令进行初始化) ./s ...

最新文章

  1. autoconf和automake的安装与使用
  2. java为什么监听器里没有输出,JAVA Web开发技术应用——监听器
  3. swiper怎么让不会回弹,为什么我的滚动条拉上拉下都会回弹呢?
  4. Python之路【第十七篇】:装饰器
  5. 最近公共祖先LCA 【专题@AbandonZHANG】
  6. 架构运维篇(一):Centos7/Linux安装jdk环境
  7. noip2013 day2
  8. 从零开始学习区块链(1)
  9. Tortoiser三十集脱壳教程__ZC
  10. 什么是游戏引擎,什么是虚幻引擎(Unreal Engin 4)?
  11. RabbitMQ配置SSL
  12. 2014年腾讯实习生招聘最后一题
  13. October 2019 Twice SQL Injection
  14. 天气预报接口应该怎么开通?
  15. OAEP及其在OpenSSL中的实现
  16. 跟柴静的《穹顶之下》学习演讲的十大技巧
  17. 雷电连接不到android studio,android studio连接雷电模拟器 【AS 模拟器】
  18. scratch传说之下素材_《故事新编》:在古老传说和寓言故事上丰富情节和赋予意义...
  19. SpringBoot 在main或者普通类中条用service接口
  20. 比对布线标准,推进行业发展

热门文章

  1. bat基础学习--bat批量执行其他bat(startcall),bat执行后暂停(调试)关闭,批量执行关闭exe----基础
  2. matlab inpainting,MATLAB-Python-inpainting-codes-master
  3. java数据结构博客园_Java数据结构
  4. python3 测试函数的一个例子
  5. [BUUCTF-pwn]——picoctf_2018_buffer overflow 2
  6. socket网络编程——TCP编程流程及端口号占用问题
  7. jquery ajax error但状态是200,jQuery $ .ajaxError()在200上运行 - 好的
  8. 知己知彼 防范攻击:网络攻击步骤与黑客攻击原理
  9. Tortoise SVN使用方法,简易图解
  10. Drools 规则语言详解(上)