美文网首页
Mysql5.7数据库 only_full_group_by报错

Mysql5.7数据库 only_full_group_by报错

作者: 打不死的小强8号 | 来源:发表于2018-11-09 15:25 被阅读0次

    报错原因

    1.mysql 5.7中的sql_mode的值为:
    2.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

    查看

    #登录你的数据库
     mysql -uroot -p 
    #执行下面的命令
      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
    

    方案一:(亲测有效,需要重启mysql服务)

    修改mysql的my.cnf配置 ,在里面加上下面这段,如果配置里有sql_mode 只需要修改和下面一样就好

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

    centos7 mysql的配置文件修改 ,如下图,并保存

    vim /etc/my.cnf
    
    image.png

    方案二:(我的没有成功)

    #登录你的数据库
     mysql -uroot -p 
    #执行下面的命令
      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
    
    # 重新设置sql_mode的值
    set SESSION sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ';
    

    相关文章

      网友评论

          本文标题:Mysql5.7数据库 only_full_group_by报错

          本文链接:https://www.haomeiwen.com/subject/uvhoxqtx.html