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的资料请关注脚本之家其它相关文章!
- MySQL 5.7升级8.0报异常:ONLY_FULL_GROUP_BY的问题解决
- MySQL中ONLY_FULL_GROUP_BY模式的使用
- mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查问题(windows)
- 解决MySQL this is incompatible with sql_mode=only_full_group_by 问题
- mysql怎么关闭sql_mode=ONLY_FULL_GROUP_BY模式
- MySQL报错:sql_mode=only_full_group_by的4种轻松解决方法(含举例)
- 解决MySql版本问题sql_mode=only_full_group_by
- MySQL错误提示:sql_mode=only_full_group_by完美解决方案
- Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错的解决方法
- MySQL中ONLY_FULL_GROUP_BY的使用小结
相关文章
mysql 5.7.21解压版安装配置方法图文教程(win10)
这篇文章主要为大家详细介绍了win10下mysql 5.7.21解压版安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-02-02
最新评论