MySQL错误sql_mode=only_full_group_by完美解决方案

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

mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。

错误提示:this is incompatible with sql_mode=only_full_group_by

1.查询数据库版本:

SELECT VERSION();

2.查看sql_mode的语句:

select @@GLOBAL.sql_mode;

3.临时解决方案:

去掉ONLY_FULL_GROUP_BY,重新设置值。

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

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

4.永久解决方案:

Linux下修改mysql的my.cnf配置文件

vi /etc/my.cnf

找到my.cnf中的[mysqld]在下面增加:

MySQL错误sql_mode=only_full_group_by完美解决方案

5重启数据库

service mysql restart文章来源地址https://www.toymoban.com/news/detail-406143.html

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

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

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

相关文章

  • MySQL:报错this is incompatible with sql_mode=only_full_group_by

    在mysql 工具 搜索或者插入数据时报下面错误: ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column \\\'database_tl.emp.id\\\' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 原因: 首先,我们看一下group by的语法

    2024年01月20日
    浏览(42)
  • SQL 报错 sql_mode=only_full_group_by 问题

    SQL 报错 sql_mode=only_full_group_by 问题 原因分析 一、原理层面 这个错误发生在mysql 5.7.5 版本及以上版本会出现的问题: mysql 5.7.5版本以上默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了\\\"SQL92标准\\\"。 很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql

    2024年02月15日
    浏览(43)
  • mysql 8.0 找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案

    sql_mode=only_full_group_by问题产生原因:MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。 1、navcat中新建查询: select @@

    2024年01月23日
    浏览(43)
  • this is incompatible with sql_mode=only_full_group_by

    查看配置 select @@global.sql_mode 在sql命令行中输入select @@sql_mode 能够看到sql_mode配置,如果有ONLY_FULL_GROUP_BY,则需要修改 在mysql5.7.5后,ONLY_FULL_GROUP_BY是默认选项,所以就会导致group by的问题 set sql_mode=‘复制去掉ONLY_FULL_GROUP_BY’; 当然这样处理也只是暂时的,要想永久的处理还得去

    2024年02月15日
    浏览(36)
  • 解决MySQL-this is incompatible with sql_mode=only_full_group_by 问题(提供window、Linux、docker解决方法和流程)

    出现这个问题是因为,对于GROUP BY操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。 也就是说如果我分组查询,比如我表里有三个字段 id、name、type,我根据type分组查询,那么结果集里就不能包含name字段。 要想解决这个问题

    2024年02月04日
    浏览(37)
  • mysql sql_mode数据验证检查

    sql_mode 功能 sql_mode 会影响MySQL支持的sql语法以及执行的 数据验证检查 。通过设置sql_mode ,可以完成不同严格程度的数据校验,有效地保障数据准确性 sql_mode 严格模式 VS 宽松模式 宽松模式 比如,插入的数据不满足 表的数据类型,也可能接受,并且不报错,只会有警告而且。

    2024年02月10日
    浏览(37)
  • MySQL运维实战(4.2) 关于SQL_MODE

    作者:俊达 早期,MySQL对一些不符合SQL标准的SQL语句和数据的容忍度比较高,可能会自主地执行或转换一些语句。但是,随着MySQL 5.7的推出,对默认的SQL模式进行了修改,更加强调SQL的合规性,这种变化是为了提高数据一致性和统一SQL标准。系统在升级MySQL版本时,特别是从

    2024年01月17日
    浏览(48)
  • 关系数据库-9-[mysql8]中的语法校验规则sql_mode应用

    Mysql中sql_mode使用详解 sql_mode是一组mysql的语法校验规则,定义了mysql应该支持的sql语法、数据校验等。 1.3.1 ANSI模式 这是一种宽松模式,该模式下,会对所操作数据进行校验,如果不符合校验规则,数据会按照规则执行,并报warning警告。 1.3.2 STRICT_TRANS_TABLES模式 这是一种严格

    2024年02月02日
    浏览(34)
  • MySQL运维实战(4.6) SQL_MODE之NO_BACKSLASH_ESCAPES

    作者:俊达 在MySQL中,默认情况下,反斜杠()被用作转义字符,转义反斜杠()后一个字符;当设置NO_BACKSLASH_ESCAPES后,反斜杠()将不作为转义字符,而被视为普通字符。 下面是一个示例,说明了这两种情况的区别: 未设置NO_BACKSLASH_ESCAPES模式 设置NO_BACKSLASH_ESCAPES 总之,N

    2024年01月23日
    浏览(45)
  • MySQL运维实战(4.4) SQL_MODE之STRICT_TRANS_TABLES和STRICT_ALL_TABLES

    作者:俊达 在MySQL中,STRICT模式主要用于控制数据库的行为,有助于保持数据的一致性和完整性,特别是在涉及到数据写入、更新和其他操作时的约束。 如果设置STRICT模式,MySQL会更加严格地执行数据写入和更新等操作,当数据不符合字段定义或者违反了约束条件,MySQL将抛

    2024年01月18日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包