我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL查询出现1055错误的原因及解决方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL查询出现1055错误的原因及解决方法

当SQL语句查询报1055错误时的解决方法

报错内容如下

请添加图片描述

报错原因

1.SQL语句中使用了group by,并且不需要分组的字段没有加上any_value()函数

2.mysql数据库版本是大于5.7,报错信息中最后有一句sql_mode=ONLY_FULL_GROUP_BY,是因为MySQL数据库的配置中sql_mode包含ONLY_FULL_GROUP_BY,导致使用group by会报错

ONLY_FULL_GROUP_BY 含义:对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。在严格模式下,不要让GROUP BY部分中的查询指向未选择的列,否则报错。

解决办法

解决办法共计3种,两种需要改配置,一种不需要

1.不修改任何配置文件,但给不需要分组的字段上加上any_value()函数

SELECT any_value(id),value FROM table_name group by value;

这种方法不需要改配置,但是每条使用group by的SQL语句都要加上any_value()函数

2.临时更改配置,下次重启电脑或者MySQL服务时会失效

首先在数据库中查询下列代码

select @@global.sql_mode

得到如下结果:

请添加图片描述

发现里面有ONLY_FULL_GROUP_BY

在查询中继续执行下列代码,其中等号后面的就是刚才查到的代码去掉 ONLY_FULL_GROUP_BY 的部分

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';

这时再重新测试之前报错的SQL语句,应该会可用了

如果不可用,再执行下列两条语句:

select @@sql_mode

set 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.永久更改配置,下次重启电脑或者MySQL服务时不会失效

第一步,先运行下列语句

select @@sql_mode

第二步,打开MySQL的配置文件(window的时my.ini,一般会在安装目录的根目录,linux是my.cnf,一般会放

在/etc/my.cnf,/etc/mysql/my.cnf。如果找不到,可以用find命令查找)

第三步,在配置文件中找到 [mysqld],在他下面填入

[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

第四步,停止之后再重启MySQL

停止mysqlsystemctl stop mysql或者net stop mysql

重启mysqlsystemctl restart mysql或者net start mysql

window用户可以在服务中重启MySQL:win+R,输入services.msc,点确定找到mysql服务,重启即可解决问题

总结

到此这篇关于MySQL查询出现1055错误的原因及解决方法的文章就介绍到这了,更多相关MySQL查询报错1055内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL查询出现1055错误的原因及解决方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL查询出现1055错误的原因及解决方法

目录报错内容如下报错原因解决办法总结当SQL语句查询报1055错误时的解决android方法报错内容如下报错原因1.SQL语句中使用了group by,并且不需要分组的字段没有加上any_value()函数2.mysql数据库版本是大
2023-05-19

MySQL查询出现1055错误的解决方法

当SQL语句查询报1055错误时的解决方法 报错内容如下 报错原因 1.SQL语句中使用了group by,并且不需要分组的字段没有加上any_value()函数 2.MySQL数据库版本是大于5.7,报错信息中最后有一句sql_mode
2023-08-16

PHP出现500错误的原因及解决方法

PHP出现500错误是很常见的问题,也是很多开发者在开发和部署PHP应用程序时常常碰到的。本文将会介绍PHP出现500错误的原因及解决方法,并提供具体的代码示例帮助读者快速定位和解决问题。1. 出现500错误的原因在PHP开发中,出现5
PHP出现500错误的原因及解决方法
2024-03-08

安装java时出现1603错误的原因及解决方法

错误情况:以前安装过java1.7,现在想升级到1.8版本,卸载了1.7,但是在安装java1.8的时候,jdk可以顺利安装,额外的jre却频频提示1603错误。解决方法:jre是由java编写的,会调用java程序来安装,由于以前java1.7的环境变量依然
安装java时出现1603错误的原因及解决方法
2020-05-30

jsp出现500错误的原因及解决方法是什么

JSP(Java Server Pages)出现500错误通常是由以下原因引起的:1. 语法错误:JSP页面中存在语法错误,比如拼写错误、标签未闭合等。解决方法是检查代码,修正语法错误。2. 异常抛出:JSP页面中的Java代码抛出了异常,
2023-08-19

win7出现错误代码0xc00000d原因及解决方法

错误代码0xc00000d是Windows 7系统中的一个常见错误代码,通常是由于以下原因导致的:1. 损坏的系统文件:某些系统文件可能已损坏或丢失,导致系统无法启动。2. 错误的硬件配置:硬件配置错误或故障可能导致系统无法正常启动。3.
2023-08-22

常见的HTTP403错误原因及解决方法

HTTP403错误:了解常见的禁止访问问题及解决方案引言:在互联网上,我们经常会遇到各种错误代码。其中,HTTP403错误是一种常见的错误,它通常表示用户没有权限访问所请求的资源。本文将介绍HTTP403错误的常见原因,并提供解决方案,以
常见的HTTP403错误原因及解决方法
2024-02-24

MySQL报1366错误的原因及解决

MySQL错误1366通常因语法错误而引起,例如缺少分号、错误的括号匹配,或使用未定义的别名或表。解决方法包括检查查询语法、确保表结构正确,授予必要权限,并解决引擎兼容性、字符集不匹配或损坏文件等其他潜在原因。预防措施包括使用语法检查器、测试语法、定期备份数据库和授予最小特权。
MySQL报1366错误的原因及解决
2024-04-02

解读Oracle错误3114:原因及解决方法

标题:分析Oracle错误3114:原因及解决方法在使用Oracle数据库时,常常会遇到各种错误代码,其中错误3114是比较常见的一个。该错误一般涉及到数据库链接的问题,可能导致访问数据库时出现异常情况。本文将对Oracle错误3114进
解读Oracle错误3114:原因及解决方法
2024-03-08

win8出现蓝屏错误代码0x000007B原因以及解决方法

最近有朋友反映win8出现蓝屏错误代码0x000007B,这是什么原因,今天小编就为大家带来蓝屏错误代码0x000007B的解决方法。蓝屏代码0x000007B解决方法1、重启电脑,待出现开机画面后按快捷键F1、F2或Del键进入到bios
2022-06-04

phpcms v9出现Can not connect to MySQL server错误的原因和解决方法

这个Can not connect to mysql server 意味着不能连接数据库。主要原因是设置数据库文件错误: 配置文件的设置http://www.cppcns.com错误看下cachescNIkbEonfigsdatabase.
2022-06-12

虚拟机安装Win8出现0xc0000260错误的原因及解决方法

在使用Oracle VirtualBox虚拟机安装Windows 8 CP版的ISO镜像时,出现了Error 0xc0000260错误,全部显示为: Windows Recovrey Environment Your PC needs to
2022-06-04

MySQL too many connections错误的原因及解决

今天中午,开发测试环境的MySQL服务报了一个too many connections的错误,从问题上看,可能是连接池被打满了,导致所有的连接都不可用了。 在这种情况下,最为直接的办法就是重新设置最大连接数,查看my.cnf文件
2022-05-22

Win7宽带连接出现711错误的原因以及图文解决方法

  对于有线网络来说,每每开机都需要进行拨号就能使用,但是不知怎么回事,某天进行拨号的时候出现了错误提示,如:宽带拨号连接报错711:Cannot load Remote Access Service Connection Manager
2023-06-06

编程热搜

目录