问题描述:在MySQL数据库下,执行SQL插入语句报错。错误信息如下:

错误原因:在MySQL5.7之后,sql_mode中默认存在ONLY_FULL_GROUP_BY,SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错。

ONLY_FULL_GROUP_BY:ONLY_FULL_GROUP_BY要求select语句中查询出来的列必须是明确的(其他语句也是一样)。

  以SQL语句select columes from table group by list为例:columns必须是聚集函数或者在group by后的表达式list中,并且list中必须包含主键,否则也会报错。

    insert、update、delete语句都会报错(但不影响SQL语句的执行),因为这三种语句执行之前也会执行查询操作。

  以主键为id的表为例:

  SELECT count(1) FROM customer GROUP BY `name`;该SQL执行成功,因为count是聚集函数;

  SELECT * FROM customer GROUP BY `name`;该SQL执行失败,因为*中包含主键id,而group by后的表达式中并没有包含id

  SELECT name FROM customer GROUP BY `name`;该SQL执行成功,因为name包含在group by后的表达式中

  SELECT name, contact FROM customer GROUP BY `name`;该SQL执行失败,因为contact没有包含在group by后的表达式中

解决方案:

  一、永久解决

    1)在MySQL下执行SELECT @@sql_mode语句

     2)将查询结果中的ONLY_FULL_GROUP_BY去掉然后复制,打开MySQL的配置文件,将sql_mode的值设置为复制的值

        (若没有sql_mode在[mysqld]下方添加一行即可)。

      MySQL配置文件所在位置:安装版可通过windows服务所对应mysql启动项,查看其对应属性->可执行文件路径,获取my.ini路径。

                   免安装版一般在其根目录下。(默认是my-default.ini,必须将名字改为my.ini才能生效)

    3)重新MySQL服务即可生效

  二、只在当前会话中解决,重新进入MySQL后失效

    1)在MySQL下执行SELECT @@sql_mode语句

    2)将查询结果中的ONLY_FULL_GROUP_BY去掉然后复制,然后执行set sql_mode = '修改后的值'

  三、只在当前服务中解决,重新MySQL服务后失效

    1)解决方式同方法二,只是在select和set时添加global关键字。具体可查看下图

MySQL-[Err] 1055 - Expression #1相关推荐

  1. MySQL报错1055解决办法:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains

    [mysql报错1055 报错解决办法][Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and cont ...

  2. 执行sql语句提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY......错误的解决办法

    当我在navicat中执行sql语句时,出现错误提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY clause and co ...

  3. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated

    mysql客户端查询报这个错误,如下所示: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and co ...

  4. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c

    [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c ...

  5. Mysql err 1055

    目录: 错误信息 原因分析 解决方案 操作示例 错误信息 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause ...

  6. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated解决

    今天在使用MySQL查询时报了一个"[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and c ...

  7. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause 的问题 MySQL

    show variables like "sql_mode"; set sql_mode=''; set sql_mode='NO_ENGINE_SUBSTITUTION,STRI ...

  8. sql [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause

    解决当时 错误 show variables like "sql_mode";set sql_mode='';set sql_mode='NO_ENGINE_SUBSTITUTIO ...

  9. linux系统mysql报err1055_MySQL Err 1055的解决

    同事在5.7.14的mysql上创建的表,需要在服务器上同步,但是小版本变成了5.7.17(不知道与版本有没有关系) 在Navicat里执行创建表的sql命令时,报错Err 1055 [Err] 10 ...

  10. mysql创建表报错1055的原因_[Err] 1055

    mysql 创建表是出现[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains non ...

最新文章

  1. java读取文本单词_使用Java计算文本文件中的单词数
  2. [HNOI2015]落忆枫音
  3. stm32f103 rtc 获取 日历 时钟
  4. MySQL迁移到ClickHouse方案
  5. 基于Android6.0~9.0的适配
  6. CTS ( 19)---Android 8.1/GO GMS认证
  7. matlab信号经过瑞利,Matlab关于 BPSK信号通过瑞利信道的误码性能分析的仿真实验....
  8. 问题解决之——未知usb设备设备描述符请求失败(Jlink驱动)
  9. 「深度小课堂」如何开发一款属于自己的时尚屏保应用?
  10. 【软考】系统集成项目管理工程师(四)项目管理一般知识
  11. 韩顺平循序渐进学java百度云_韩顺平.循序渐进学java从入门到精通视频教程及笔记与源码下载(94讲)...
  12. 安卓自定义view仿小米商城购物车动画
  13. 以太坊五周年:从涅槃中苏醒
  14. 如何录制真人出镜?别急,一篇教会你:真人出镜的ppt怎么录制
  15. Android BLE HIDS Data ,从问询DB 到写入Android 节点的flow 之五
  16. 线索二叉树和中序非递归遍历线索化后的二叉树
  17. 编写解析绝对定向程序matlab,相对定向和绝对定向解析过程(全面).ppt
  18. Hilary Stagg 不死传说
  19. 深入理解Lua的闭包:概念和应用
  20. 一些经典的谷歌面试题

热门文章

  1. 【机器学习入门】机器学习基础核心算法:贝叶斯分类!(附西瓜书案例及代码实现)...
  2. GitHub 中文文档正式发布了!激动人心的大好事!
  3. Swin Transformer 升级,Swin V2:向更大容量、更高分辨率的更大模型迈进
  4. 腾讯多任务模型MFH
  5. 即时通讯音视频开发(八):常见的实时语音通讯编码标准
  6. IM群聊消息如此复杂,如何保证不丢不重?
  7. 【MCTalk Live】网易对话谷歌:如何成为一个顶50个的A+++++程序员
  8. 关于假冒网站仿冒网易云信官网相关情况的声明
  9. 九章算法 | 骑士的最短路线-BFS
  10. 关于mvc、mvp和mvvm的理解