栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【java】mysql版本问题导致的only

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【java】mysql版本问题导致的only

报错提示:

Expression #1 of SELECt list is not in GROUP BY clause and contains nonaggregated column 'hl.c.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

报错原因:

由于mysql版本不同导致。以下均为个人看法。

mysql 5.x版本之前支持 select a,b from table_name group by a;

mysql 8.x版本进行优化,group by语法进行了修改。按某个字段分组,就只能查询到某个字段。

  select a from table_name group by a;

  select a,b from table_name group by a,b;

解决方式:

1.修改代码:将代码改成符合语法的sql语句。

       select a,b from table_name group by a,b;

2.修改数据库设置【仅仅推荐测试库使用】

      a.查询sql模式

        select @@global.sql_mode;

     b.修改sql模式

        set @@global.sql_mode          ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

c.退出重新登录

    #退出
     quit;
     # 再次登录(命令行模式)
     mysql -u 用户名 -p 密码;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021580.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号