zoukankan      html  css  js  c++  java
  • MySQL5.7 group by新特性,报错1055

    项目中本来使用的是mysql5.6进行开发,切换到5.7之后,突然发现原来的一些sql运行都报错,错误编码1055,错误信息和sql_mode中的“only_full_group_by“关,到网上看了原因,说是mysql5.7中only_full_group_by这个模式是默认开启的 解决办法大致有两种:
    一:在sql查询语句中不需要group by的字段上使用any_value()函数 
    当然,这种对于已经开发了不少功能的项目不太合适,毕竟要把原来的sql都给修改一遍
    
    二:修改my.cnf(windows下是my.ini)配置文件,删掉only_full_group_by这一项 
    我们项目的mysql安装在ubuntu上面,找到这个文件打开一看,里面并没有sql_mode这一配置项,想删都没得删。
    
    当然,还有别的办法,打开mysql命令行,执行命令
    select @@sql_mode
    这样就可以查出sql_mode的值,复制这个值,在my.cnf中添加配置项(把查询到的值删掉only_full_group_by这个选项,其他的都复制过去):
    sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    
    如果 [mysqld] 这行被注释掉的话记得要打开注释。然后重重启mysql服务
    
    注:使用命令
    set sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    这样可以修改一个会话中的配置项,在其他会话中是不生效的。
  • 相关阅读:
    PAT 1088. Rational Arithmetic
    PAT 1087. All Roads Lead to Rome
    PAT 1086. Tree Traversals Again
    PAT 1085. Perfect Sequence
    PAT 1084. Broken Keyboard
    PAT 1083. List Grades
    PAT 1082. Read Number in Chinese
    求最大公因数
    [转载]Latex文件转成pdf后的字体嵌入问题的解决
    [转载]Matlab有用的小工具小技巧
  • 原文地址:https://www.cnblogs.com/huashengxue/p/9578632.html
Copyright © 2011-2022 走看看