mysql报错sql_mode=only_full_group_by解决

 更新时间:2023年08月23日 14:41:46   作者:朱永胜  
这篇文章主要为大家介绍了mysql报错sql_mode=only_full_group_by解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

报错内容

### The error may exist in file[D:\code\cppCode20221025\leader-system\target\classes\mapper\system\TJsonDataMapper.xml]
        ### The error may involve defaultParameterMap
        ### The error occurred while setting parameters
        ### SQL:select ifnull(s.type,'')type,ifnull(GROUP_CONCAT(s.yjzbname,':',s.num),'0')nums from(select t.type,(select name from t_norm s where s.id=n.parentId)yjzbname,count(*)num from t_org_ticket o left join t_ticket t on t.id=o.ticket_id and t.project_id=?left join t_norm n on n.model=t.modelid and n.project_id=?where o.org_id=?and t.type=?and n.type='02'GROUP BY parentId)s
        ### Cause:java.sql.SQLSyntaxErrorException:In aggregated query without GROUP BY,expression #1of SELECT list contains nonaggregated column's.type';this is incompatible with sql_mode=only_full_group_by
        ;bad SQL grammar[];nested exception is java.sql.SQLSyntaxErrorException:In aggregated query without GROUP BY,expression #1of SELECT list contains nonaggregated column's.type';this is incompatible with sql_mode=only_full_group_by

如何解决

调整GROUP BY子句和SELECT列表:

保证查询的字段在group by中即可

禁用only_full_group_by模式:

如果你确定查询的逻辑和数据不会引起问题,可以在查询之前执行以下命令来临时禁用only_full_group_by模式:

SET SESSION sql_mode='';

这可能会导致一些数据不一致性问题,只有在你非常确定情况下才应该使用。

如果是需要永久写入,那就需要写到cnf或ini配置中

mysql中配置文件地址一般是`C:\Program Files\MySQL\MySQL Server 5.7\bin\my.ini

我的在这里额

查询已经有的sql_mode

select @@sql_mode

在ini中添加查询出来的模式配置,然后去掉only_full_group_by模式即可

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

重新设计查询:

如果无法简单地调整GROUP

-->BY子句和SELECT列表,你可能需要重新设计查询逻辑。这可能涉及到使用子查询、临时表或其他方式来满足only_full_group_by模式的要求。 。

以上就是mysql报错sql_mode=only_full_group_by解决的详细内容,更多关于sql_mode=only_full_group_by的资料请关注脚本之家其它相关文章!

相关文章

  • myeclipse中连接mysql数据库示例代码

    myeclipse中连接mysql数据库示例代码

    这篇文章主要为大家详细介绍了MyEclipse连接MySQL数据库图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • MySQL JOIN之完全用法

    MySQL JOIN之完全用法

    最近在做mysql的性能忧化,做到多表连接查询,比较头疼,看了一些join的资料,终于搞定,这里分享出来!
    2009-12-12
  • MySQL8.0 索引优化invisible index详情

    MySQL8.0 索引优化invisible index详情

    这篇文章主要介绍了MySQL8.0 索引优化invisible index详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • mysql累积聚合原理与用法实例分析

    mysql累积聚合原理与用法实例分析

    这篇文章主要介绍了mysql累积聚合原理与用法,结合实例形式分析了mysql累积聚合原理、用法及相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • 如何创建一个创建MySQL数据库中的datetime类型

    如何创建一个创建MySQL数据库中的datetime类型

    这篇文章主要介绍了如何创建一个创建MySQL数据库中的datetime类型,创建一个datetime类型的方法以及create domain 和create type的用法和区别,需要的朋友可以参考一下
    2022-03-03
  • mysql 字符集的系统变量说明

    mysql 字符集的系统变量说明

    mysql 字符集的系统变量的一些说明,大家在使用过程中,可以作个参考。
    2009-07-07
  • MySQL中使用流式查询避免数据OOM

    MySQL中使用流式查询避免数据OOM

    这篇文章主要介绍了MySQL中使用流式查询避免数据OOM,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • MySQL更改默认字符集为utf-8的全过程

    MySQL更改默认字符集为utf-8的全过程

    这篇文章主要介绍了MySQL更改默认字符集为utf-8的全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • MySQL 整体架构介绍

    MySQL 整体架构介绍

    这篇文章主要介绍了MySQL 整体架构的相关资料,帮助大家更好的了解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-10-10
  • Mysql的max_allowed_packet设定

    Mysql的max_allowed_packet设定

    今天小编就为大家分享一篇关于Mysql的max_allowed_packet设定,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12

最新评论