zoukankan      html  css  js  c++  java
  • sql语句中出现group by 报错sql_mode=ONLY_FULL_GROUP_BY的解决方案

    1、查看sql_mode
    
    select @@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
    2、去掉ONLY_FULL_GROUP_BY,重新设置值。
    
     
    
     
    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';
    3、上面是改变了全局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';
    以上所述是小编给大家介绍的MySql版本问题sql_mode=only_full_group_by的完美解决方案,希望对大家有所帮助.
    
    ===========================================================
    
    有同学提出上边这种方式数据库重启后 设置会失效,确实是这样的,上边这种方式只是修改了内存中的值,不能永久改变。
    
    想要永久解决问题需要在配置文件中
    
    [mysqld]下面添加这段
    
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION  
    windows 在安装目录下的my.ini 文件
    Mac 或者Linux 在/ etc/my.cnf 下面应该是
    
    总之就是在个人mysql配置文件中修改
    
     

    https://blog.csdn.net/qq_27828675/article/details/80304274

    踩过这个坑,还有下一个坑等着你,这一路就是给自己填坑,坑填多了,也就习惯了,直到这一路平坦了,也就无怨无悔了。
  • 相关阅读:
    mongodb的CRUD操作三
    mongodb的CRUD操作二查询
    mongodb的CRUD操作一
    python 全栈Day01 安装python
    sqlalchemy 无法显示中文的问题
    2017python学习的第九天,进程,线程协程
    2017python学习的第八天,socket的使用
    2017python学习的第七天,面向对象编程
    2017python学习的第六天,面向对象
    创建证书
  • 原文地址:https://www.cnblogs.com/xiaofeilin/p/13960132.html
Copyright © 2011-2022 走看看