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
            然后重启服务

  • 相关阅读:
    HttpClient后台post 请求webapi
    [SQL Server] 复制数据库任务
    C# js 在页面能执行,放在单独js文件不能执行
    Flink 中的kafka何时commit?
    jar依赖
    AI重要算法
    NonWindowJoin
    Rocket MQ 源码解析
    linear algebra
    Theories of Deep Learning
  • 原文地址:https://www.cnblogs.com/lijianchuan/p/13862856.html
Copyright © 2011-2022 走看看