MySQL sql模式设置引起的问题


Posted in MySQL onMay 15, 2022

1 报错类似如下

数据库错误: Error querying database.  Cause: java.sql.SQLSyntaxErrorException: Expression 39 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.ss.student_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
The error may exist in URL [jar:file:/usr/local/xxxxx.jar!/BOOT-INF/lib/summer-system-4.6.0.jar!/mapper/system/SuOrgProgramMapper.xml]
The error may involve com.ruoyi.system.mapper.SuOrgProgramMapper.selectSuOrgProgramList-Inline
The error occurred while setting parameters
SQL: select sop.*,so.org_name as orgName,sa.activity_name as activityName,sa.activity_name_en as activityNameEN,         ss.student_id as matchedStudentId,ss.name as matchedStudentName, su.login_name as email, su.real_name AS firstName, su.nickname as nickname         from su_org_program sop         inner join su_activity sa on sop.activity_id=sa.activity_id         inner join su_org so on so.org_id = sop.org_id         left JOIN sys_user su ON sop.main_teacher_id = su.sub         left join (select * from su_student_program where is_matched=1) ssp on ssp.org_program_id= sop.org_program_id         left JOIN su_student ss on ssp.student_id=ss.student_id          WHERE  sop.org_id = ?          GROUP BY sop.org_program_id
Cause: java.sql.SQLSyntaxErrorException: Expression 39 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.ss.student_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Expression 39 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.ss.student_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

2 解决办法

2.1 查看全局sql模式

使用如下m命令:

select @@global.sql_mode;

如下:

mysql> select @@global.sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@global.sql_mode                                                                                                                         |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

2.2 设置全局sql模式

使用如下命令:

SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

如下:

ysql> SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>

2.3 查看当前sql模式

使用如下命令:

select @@sql_mode;

如下:

mysql> select @@sql_mode;
+------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                                             |
+------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql>

2.4 设置当前sql模式

使用如下命令:

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

如下:

mysql> set @@sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>

3 永久生效的解决办法

3.1 找到my.cnf文件

可以使用如下命令查找,一般在 /etc/下或者 /etc/mysql/ 目录下

find /etc/ -name my.cnf

3.2 编辑my.cnf文件

vi /etc/mysql/my.cnf

然后增加以下内容:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

3.3 重启数据库服务

systemctl restart mysqld

到此这篇关于sql模式设置引起的问题解决办法的文章就介绍到这了,更多相关sql模式设置内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

MySQL 相关文章推荐
IDEA 链接Mysql数据库并执行查询操作的完整代码
May 20 MySQL
MySQL完整性约束的定义与实例教程
May 30 MySQL
MySQL 5.7常见数据类型
Jul 15 MySQL
MySQL里面的子查询的基本使用
Aug 02 MySQL
mysql的Buffer Pool存储及原理
Apr 02 MySQL
MySQL事务操作的四大特性以及并发事务问题
Apr 12 MySQL
Windows 64位 安装 mysql 8.0.28 图文教程
Apr 19 MySQL
MySQL GTID复制的具体使用
May 20 MySQL
MySQL选择合适的备份策略和备份工具
Jun 01 MySQL
MySQL优化之慢日志查询
Jun 10 MySQL
MySQL安装失败的原因及解决步骤
Jun 14 MySQL
MySQL的意向共享锁、意向排它锁和死锁
Jul 15 MySQL
MySQL 逻辑备份 into outfile
May 15 #MySQL
Mysql开启外网访问
May 15 #MySQL
Mysql索引失效 数据库表中有索引还是查询很慢
MySQL查询日期时间
May 15 #MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 #MySQL
MySQL 计算连续登录天数
May 11 #MySQL
mysql 获取相邻数据项
May 11 #MySQL
You might like
PHP缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
Python 深入理解yield
2008/09/06 Python
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
python中的随机函数小结
2018/01/27 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
广州某公司软件工程师面试题
2014/12/22 面试题
工商管理本科毕业生求职信范文
2013/10/05 职场文书
毕业生找工作推荐信
2013/11/21 职场文书
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
五年级下册复习计划
2015/01/19 职场文书
金秋助学感谢信
2015/01/21 职场文书
材料员岗位职责
2015/02/10 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
运输公司工作总结
2015/08/11 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS
Pillow图像处理库安装及使用
2022/04/12 Python