5分钟学会MySQL-this is incompatible with sql_mode=only_full_group_by错误解决方案[通俗易懂]

5分钟学会MySQL-this is incompatible with sql_mode=only_full_group_by错误解决方案[通俗易懂]5分钟学会MySQL-"thisisincompatiblewithsql_mode=only_full_group_by"错误解决方案前言:一、原理层面这个错误发生在mysql5.7版本及以上版本会出现的问题…

大家好,又见面了,我是你们的朋友全栈君。

                                                     5分钟学会MySQL-

          “this is incompatible with sql_mode=only_full_group_by”错误解决方案

前言:

       一、原理层面

       这个错误发生在mysql 5.7 版本及以上版本会出现的问题:

       mysql 5.7版本默认的sql配置是:sql_mode=”ONLY_FULL_GROUP_BY”,这个配置严格执行了”SQL92标准”。

       很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。

        

        二、sql层面

        在sql执行时,出现该原因:

        简单来说就是:输出的结果是叫target list,就是select后面跟着的字段,还有一个地方group by column,就是

        group by后面跟着的字段。由于开启了ONLY_FULL_GROUP_BY的设置,所以如果一个字段没有在target list 

        和group by字段中同时出现,或者是聚合函数的值的话,那么这条sql查询是被mysql认为非法的,会报错误。

     

  一、查看sql_mode的语句如下

select @@GLOBAL.sql_mode;

  二、解决方案-(推荐解决方案二)

  ①解决方案一sql语句暂时性修改sql_mode

set @@GLOBAL.sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

      问题:

              重启mysql数据库服务之后,ONLY_FULL_GROUP_BY还会出现。

  ②解决方案二:完美解决方案。

   需修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性,

   my.cnf位于etc文件夹下,vim下光标移到最后,添加如下:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

       重启mysql服务,顺利解决。 

                       Now ~ ~ ~写到这里,就写完了,如果有幸帮助到你,请记得关注我,共同一起见证我们的成长

小结

谢谢观赏,我叫猿医生。

猿友推荐:正在奔跑的程序猿

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141117.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python3离线安装第三方库_python手动安装第三方库

    python3离线安装第三方库_python手动安装第三方库python离线环境安装python第三方库author:yafeishitags:AntDB,pythonpython对于运维工作确实方便了很多,但很多比较实用的库都是第三方提供,在os自带的iso中并没有,离线环境下安装第三方库是一件很痛苦的事情,无止境的依赖会让你崩溃。能不能在离线环境中像在线环境一样通过pip来解决依赖问题呢?答案是可以的(让我一个一个安装依赖是不可能的,这辈子都不可…

    2022年10月14日
    2
  • 武侠金曲「建议收藏」

    十首香港武侠金曲唱出无限中国意境

    2022年4月13日
    40
  • 前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!

    前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!前言HTML,CSS,JavaScript是前端入门必须学习的知识,也是最基础的知识。文章主要分享包括(HTML,CSS,JS)前端基础知识笔记,学习路线图,最后附前端基础面试题。HTML知识点1.html基本结构html标签是由<>包围的关键词。html标签通常成对出现,分为标签开头和标签结尾。有部分标签是没有结束标签的,为单标签,单标签必须使用/结尾。页面所有的内容,都在html标签中。html标签分为三部分:标签名称,标签内容,标签属性。html

    2022年6月15日
    28
  • 服务器bios界面usb无线网卡,BIOS怎么开启无线网卡

    服务器bios界面usb无线网卡,BIOS怎么开启无线网卡

    2021年8月16日
    63
  • volatile关键字作用与内存可见性、指令重排序概述[JAVA]「建议收藏」

    volatile关键字作用与内存可见性、指令重排序概述[JAVA]「建议收藏」在理解volotile关键字的作用之前,先粗略解释下内存可见性与指令重排序。1.内存可见性Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存,并且线程只能访问自己的工作内存,不可以访问其它线程的工作内存。工作内存中保存了主内存中共享变量的副本,线程要操作这些共享变量,只能通过操作工作内存中的副本来实现,操作完毕之后再同步回到主内存当中,其JVM内存模型大

    2022年5月31日
    34
  • 350页前端校招面试题直击大厂:前端基础、前端核心、计算机基础、项目、Hr面…「建议收藏」

    350页前端校招面试题直击大厂:前端基础、前端核心、计算机基础、项目、Hr面…「建议收藏」前言考虑到关注的小伙伴们也会有在校生或应届生,要参加校招的同学,一直挺想总结一些关于校招面试题,赶在春招结束前终于写完了,除了写到前端方面的面试题外,项目、职业发展、H面等高频问题也会有,写的很详细,全方面做好准备,为同学们的校招保驾护航!目录1.HTML2.CSS3.前端基础4.前端核心5.前端进阶6.移动端开发7.计算机基础8.算法与数据结构9.设计模式10.项目11.职业发展12.Hr面正文HTML1.浏览器页面有哪三层构成,分别是什么,作用是什么?2.HTML5的

    2022年6月19日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号