zoukankan      html  css  js  c++  java
  • mysql5.7 修改sql_mode配置

    服务器环境:windows  server 2012 R2、mysql5.7.17

    出现问题:在本地开发环境下一切正常,部署到服务器上出现GROUP BY 的聚合函数错误,如下:
         select id, name from user group by name 错误;
           select id, name from user group by id,name 正确;

    问题原因:经过排查找到原因,在MySQL5.7之后,sql_mode配置中默认存在ONLY_FULL_GROUP_BY,

           SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错;

    解决过程:很好理解,只要成功修改MySQL的sql_mode配置就可以了。
      1.查看当前sql_mode配置情况: SELECT @@sql_mode 如下:
           

         2.修改sql_mode,推荐用第二种方式
       方式一:使用命令 ,但是治标不治本,重启MySQL服务此设置就失效;

    set @@sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

       方式二: 打开my.ini文件(若没有的话点这里试试),找到sql_mode,去掉ONLY_FULL_GROUP_BY,
            若没有sql_mode,则在最后增加 sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
            然后重启服务

  • 相关阅读:
    OCP-1Z0-053-V13.02-498题
    Oracle索引扫描算法
    dojo CsvStore简介
    Oracle预估的基数算法
    HTML多表头表格
    hql查询实例
    PGA突破pga_aggregate_target限制
    OCP-1Z0-053-V13.02-330题
    java 发送字节流图片,c++接收二进制流
    windows 7蓝屏解决办法
  • 原文地址:https://www.cnblogs.com/lijianchuan/p/13862856.html
Copyright © 2011-2022 走看看