当前位置: 首页 > news >正文

报错sql_mode=only_full_group_by

首发博客地址

https://blog.zysicyj.top/

报错内容

### 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
alt

如何解决

  1. 「调整GROUP BY子句和SELECT列表:」

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

  2. 「禁用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

    我的在这里额 alt

    查询已经有的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
    
  3. 「重新设计查询:」

    如果无法简单地调整GROUP BY子句和SELECT列表,你可能需要重新设计查询逻辑。这可能涉及到使用子查询、临时表或其他方式来满足only_full_group_by模式的要求。 。

本文由 mdnice 多平台发布

http://www.lryc.cn/news/145023.html

相关文章:

  • 伪造 IP 地址的原理和防范措施
  • Linux通过libudev获取挂载路径、监控U盘热拔插事件、U盘文件系统类型
  • 【会议征稿】2023智能通信与网络国际学术会议(ICN 2023)
  • Android投屏总结
  • vue2 组件组成部分,组件通信,进阶语法
  • 信看课堂笔记—LDO和DC-DC电路打PK
  • C++ Day6
  • 分布式系统与微服务的区别是什么?
  • python:用python构建一个物联网平台
  • 基于Qt5开发图形界面——WiringPi调用Linux单板电脑IO
  • 【MySQL】组合查询
  • ChatGPT:引领人机交互的未来
  • 【算法】经典的八大排序算法
  • 防溺水预警识别系统算法
  • Redis 的整合 Jedis 使用
  • Mainline Linux 和 U-Boot编译
  • Mycat教程+面试+linux搭建
  • 基于工作过程的高职计算机网络技术专业课程体系构建策略
  • (笔记四)利用opencv识别标记视频中的目标
  • 一、计算机硬件选购
  • Dockerfile制作LAMP环境镜像
  • 暴力递归转动态规划(二)
  • debian apt error: Package ‘xxx‘ has no installation candidate
  • c#设计模式-结构型模式 之 外观模式
  • Focal Loss-解决样本标签分布不平衡问题
  • 运算符(个人学习笔记黑马学习)
  • 开源与专有软件:比较与对比
  • openResty+lua+redis实现接口访问频率限制
  • 自动化测试(三):接口自动化pytest测试框架
  • Python --datetime模块