关于mysql高版本使用groupby导致的报错

在开发时,遇到mysql版本5.7.X及以上版本时使用group by 语句会报以下的错误

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'business_type' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

这是因为mysql 5.7.X版本以上默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。

解决方法:

方法一:

在Navicat Premium 16中执行以下语句即可,只有短时间内生效,例如电脑重启有可能失效。

set @@global.sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

方法二:

首先检查

永久更改方法如下:

windows

找到mysql的安装目录中的my.ini文件对其进行修改

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

添加完后需重启数据库

Linux
文件地址一般在:/etc/my.cnf,/etc/mysql/my.cnf

有的my.cnf没有sql_mode这项配置就自行添加这行配置上去,有的话把原来的更改为以下即可:

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

添加完后需重启数据库
 

相关推荐

  1. mysql版本(8.0+)group_by处理方法

    2023-12-13 01:54:04       20 阅读
  2. 斯锁表导致sql处理

    2023-12-13 01:54:04       32 阅读
  3. 解决使用ip来访问MySQL问题

    2023-12-13 01:54:04       59 阅读
  4. Node版本超过14导致node-sass版本不兼容

    2023-12-13 01:54:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-13 01:54:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-13 01:54:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-13 01:54:04       82 阅读
  4. Python语言-面向对象

    2023-12-13 01:54:04       91 阅读

热门阅读

  1. 常见加密算法解密脚本

    2023-12-13 01:54:04       68 阅读
  2. 前端知识笔记(三十六)———HTTP 缓存机制

    2023-12-13 01:54:04       52 阅读
  3. 【代码随想录】算法训练计划49

    2023-12-13 01:54:04       67 阅读
  4. MySQL中查询当天数据中离时间点最近的数据

    2023-12-13 01:54:04       67 阅读
  5. Python卡尔曼滤波器OpenCV跟踪和预测物体的轨迹

    2023-12-13 01:54:04       60 阅读
  6. 3D点云:平面模型上提取凸(凹)多边形方法

    2023-12-13 01:54:04       49 阅读
  7. Codeforces Round 777 (Div. 2) (C D分类讨论 E倍增+贪心)

    2023-12-13 01:54:04       54 阅读
  8. 人工智能应用专栏----专栏介绍

    2023-12-13 01:54:04       57 阅读
  9. vue递归以及示例

    2023-12-13 01:54:04       54 阅读
  10. 第30期 | GPTSecurity周报

    2023-12-13 01:54:04       52 阅读
  11. 力扣labuladong——一刷day66

    2023-12-13 01:54:04       51 阅读
  12. SpringBoot 面试题和答案,最新面经

    2023-12-13 01:54:04       53 阅读
  13. 不容错过的计算机网络知识点解密!

    2023-12-13 01:54:04       48 阅读
  14. 从理论分析高可用

    2023-12-13 01:54:04       51 阅读
  15. 微信小程序如何跳转到网页

    2023-12-13 01:54:04       52 阅读