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

这篇具有很好参考价值的文章主要介绍了MySQL查询出现1055错误的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

报错内容如下

MySQL查询出现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

得到如下结果:
MySQL查询出现1055错误的解决方法
发现里面有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服务,重启即可解决问题文章来源地址https://www.toymoban.com/news/detail-406460.html

到了这里,关于MySQL查询出现1055错误的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于Mysql使用left join写查询语句执行很慢的问题解决

    目录 (一)前言 (二)正文 1. 表结构/索引展示 (1)表结构 (2)各表索引情况 2. 存在性能问题的SQL语句 3. 解决思路 (1)执行计划思路调优 (2)字符集匹配调优 (三)总结 1. 关于执行计划中TYPE的性能比较 2. 关于left join优化 3. 其他注意点 这几天供应商在测试环境上使

    2024年02月02日
    浏览(49)
  • 导入matplotlib包出现各种错误的解决方法

    导入matplotlib包是出现各种错误,解决一个又出现一个。比如:module \\\'matplotlib\\\' has no attribute \\\'get_data_path\\\',No module named \\\'pyparsing\\\', cannot import name \\\'get_versions\\\' from \\\'matplotlib._version\\\'等等。在网上大多数都是重新安装matplotlib包,然而也没有解决。 这个错误可能是由于Matplotlib的版本不

    2024年02月16日
    浏览(55)
  • 电脑出现错误代码0xc0000001都有什么解决办法,分享错误代码的解决方法

    当使用电脑进行各项操作时,有可能会遇到一些突发的问题,其中之一就是电脑出现蓝屏并提示错误代码0xc0000001。若你无法明白原因及对应方案,这确实会让人非常迷茫并产生诸多困扰。今天这篇文章将为你详细地解析什么是错误代码0xc0000001,它的可能原因,以及电脑出现

    2024年02月05日
    浏览(51)
  • 电脑出现错误代码0x80004005的解决方法

    电脑出现错误代码0x80004005怎么办?用户在操作 Win10 电脑的时候,可能会遇到各种各样的问题,还有收到错误代码0x80004005的提示。如果出现这样的情况,就导致用户无法正常在电脑上展开操作,下面小编就大家介绍两种简单的解决方法,解决后用户就能舒心操作电脑咯。 电脑

    2024年02月07日
    浏览(50)
  • 网站出现403 Forbidden错误的原因以及怎么解决的方法

    这几天刚接手一批新做的网站,在访问网站的时候,会时不时的出现403 Forbidden错误,浏览器会给出403 Forbidden错误提示,在打开Access Error中列出的URL之后, 出现以下错误: 403 Forbidden Access to this resource on the server is denied! Powered By LiteSpeed Web Server LiteSpeed Technologies is not responsible

    2024年02月06日
    浏览(62)
  • 出现 java.lang.UnsupportedClassVersionError 错误的原因及解决方法

    主要是代码编译时使用的jdk版本与运行时使用jdk版本不一致导致的。 java build path 中jre是运行时依赖的jdk版本。 java compiler 中是设置项目编译的jdk版本。 一般改上面2个一致了,项目应该就不会报UnsupportedClassVersionError异常了。 但是,如果项目中还引入了其他的依赖,而该依赖

    2024年02月16日
    浏览(46)
  • 【Qt 中出现 No such slot 错误 解决方法】

    如图中 1.注释后 就会出现No such slot错误,如果用Qtcreator 一般不会出现此错误 2.如果是自己写的类 就要好好查看下 是否添加了Q_OBJECT宏定义了 上面两行 仅仅是一个参数名字的区别 但是就是因为写了参数名字 导致了 No such slot的出现 所以 【有参信号、槽函数】一定要注意 仅

    2024年02月11日
    浏览(38)
  • 解决 Spring Boot 访问请求出现 404 错误的方法详解

    在使用 Spring Boot 开发应用程序时,有时可能会遇到访问请求出现 404 错误的情况,即请求的资源未找到。本文将介绍如何解决 Spring Boot 中访问请求出现 404 错误的问题,帮助你正确配置路由和处理请求。 首先,要检查请求路径是否正确,并确保该路径与控制器方法或资源的映

    2024年02月14日
    浏览(41)
  • 服务器出现500、502、503错误的原因以及解决方法

    服务器我们经常会遇到访问不了的情况有的时候是因为我们服务器被入侵了所以访问不了,有的时候是因为出现了服务器配置问题,或者软硬件出现问题导致的无法访问的问题,这时候会出现500、502、503等错误代码。基于以上问题我们第一步可以先重启服务器,一般重启服务

    2024年01月18日
    浏览(64)
  • 电脑出现0xc00000e9错误代码的解决方法

    每当假期结束回来,经常发现Windows系统的电脑一段时间不开机,开机就出现0xc00000e9的错误代码。为什么明明没有任何操作却出现错误呢?驱动人生带大家一文了解。 出现0xc00000e9错误代码的原因 先来了解一下电脑出现0xc00000e9错误代码的主要原因,可能是电脑连接其他设备导

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包