java服务调用mysql报错

一、前言

前端服务调用后端服务时出现以下报错,原因是使用mysql5.7版本数据库中存在ONLY_FULL_GROUP_BY这个配置项导致的不兼容

MySQLSyntaxErrorException: Expression #32 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'demeter_foundation.sorg.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

二、解决

在mysql命令行中执行以下命令(临时更改)

5.7以上版本执行

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

8.0以上版本执行

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

更改mysql配置文件(永久更改)

vi /etc/my.cnf

bash 复制代码
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION  #5.7以上版本配置此项

sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION   #8.0以上版本配置此项

重新启动mysql服务

systemctl restart mysqld

相关推荐
右耳朵猫AI几秒前
PHP技术周刊 2026年第20周
开发语言·php
日月云棠1 分钟前
12 Enum —— 枚举类型的底层实现
java·后端
轻刀快马6 分钟前
从繁琐到极简,从幻象到本质:Spring AOP 架构演进与实战避坑指南
java·spring·架构
weixin_BYSJ19877 分钟前
springboot旅游管理系统04470(附源码+开发文档+部署教程)
java·spring boot·python·算法·django·flask·旅游
8Qi89 分钟前
LeetCode 209. 长度最小的子数组(Minimum Size Subarray Sum)
java·算法·leetcode·双指针·滑动窗口
Yvonne爱编码9 分钟前
数据库---Day9 视图(附完整数据库脚本+练习题)
数据库·mysql·oracle
方也_arkling12 分钟前
【Java-Day12】接口
java·开发语言
SimonKing12 分钟前
Java程序员接入AI的另一种姿势:LangChain4j
java·后端·程序员
小小de风呀14 分钟前
de风——【从零开始学 C++】(十)vector的模拟实现
开发语言·c++
右耳朵猫AI20 分钟前
Rust技术周刊 2026年第20周
开发语言·后端·rust