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

目录
  • 前言
  • 1.查询数据库版本:
  • 2.查看sql_mode的语句:
  • 3.临时解决方案:
  • 4.永久解决方案:
  • 5重启数据库
  • 总结

前言

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]在下面增加:

5重启数据库

service mysql restart

总结

到此这篇关于MySQL错误提示sql_mode=only_full_group_by完美解决方案的文章就介绍到这了,更多相关MySQL错误sql_mode=only_full_group_by内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL中使用group by 是总是出现1055的错误(推荐)

    因为在MySQL中使用group by 是总是出现1055的错误,这就导致了必须去查看是什么原因了,查询了相关的资料,现在将笔记记录下来,以便后面可以参考使用: sql_mode:简而言之就是:它定义了你MySQL应该支持的sql语法,对数据的校验等等 select @@sql_mode:使用该命令我们可以查看我们当前数据库的sql_mode mysql> select @@sql_mode; +--------------------------------------------------

  • mysql修改sql_mode报错的解决

    目录 一 ERR 1067引发的血案 二 问题的源头sql_mode 三 设置sql_mode 一 ERR 1067引发的血案 今天在Navicat中运行sql语句创建数据表出现了错误Err 1067.而这条语句在有些同事的mysql上是正确的,但是在有些人那里就报错.你说气不气人. 原因竟然是timestamp的默认值不正确. 查阅资料得知,mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要 解决这个问题,就需要修改sql

  • 解决MySql版本问题sql_mode=only_full_group_by

    目录 MySql版本问题sql_mode=only_full_group_by Windows sql_mode=only_full_group_by以及多种解决方案 出错的sql情况 解决方案1 解决方案2 MySql版本问题sql_mode=only_full_group_by 查看sql_mode select @@sql_mode 查询出来的值为: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ER

  • MySQL错误提示:sql_mode=only_full_group_by完美解决方案

    目录 前言 1.查询数据库版本: 2.查看sql_mode的语句: 3.临时解决方案: 4.永久解决方案: 5重启数据库 总结 前言 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.sq

  • MySql版本问题sql_mode=only_full_group_by的完美解决方案

    1.查看sql_mode select @@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 2.去掉ONLY_FULL_GROUP_BY,重新设置值. set @@sql_mode ='STRICT_TRANS_TABLES,NO_ZE

  • MySQL报错:sql_mode=only_full_group_by的4种轻松解决方法(含举例)

    目录 前言​ 方法一:直接修改数据库配置 方法二:修改数据库配置(永久生效) 方法三:使用 any_value() 或 group_concat() 方法四:开动脑筋,修改代码 总结 前言​ 作为初学者,我们在使用MySQL的时候总是会遇到各种各样的报错,让人头痛不已.其中有一种报错,sql_mode=only_full_group_by,十分常见,每次都是老长的一串出现,然后带走你所有的好心情 出现这样的报错,并不是因为你的代码写得不好,而是因为在MySQL 5.7后,MySQL默认开启了SQ

  • Mysql 错误too many connections解决方案

    Mysql 错误提示too many connections,最近遇到这个错误,经过上网查资料解决了,这里记录下,帮助有需要的朋友, 解决方法是修改/etc/mysql/my.cnf,添加以下一行: set-variable = max_connections=500 或在启动命令中加上参数 max_connections=500 就是修改最大连接数,然后重启mysql.默认的连接数是100,太少了,所以容易出现如题错误. 以下是mysql.com网站的相关说明: If you get a To

  • AndroidStudio构建项目提示错误信息“unable to find valid certification”的完美解决方案

    手抖了一下,把AS升级到了最新版本,然后就悲剧了,公司的项目跑不起来,提示"unable to find valid certification",新建项目也是一样的提示.之前总结的解决方案都用了,没一个好使的,经过两个下午的折腾,终于还是被我整好了,感动的泪水都要流出来了 (╥╯^╰╥) 直接放我的最新解决方案,look~ 第一步:如下所示,在项目的build.gradle的两个repositories中添加阿里public镜像,最好放在google() 前面: buildscrip

  • MySQL 8.0.31中使用MySQL Workbench提示配置文件错误信息解决方案

    MySQL 8.0.31中使用MySQL Workbench提示配置文件错误信息 Error opening configuration file UnicodeDecodeError:‘gbk’ coded can’t decode byte 0x92 in position 5004: illegal multibyte sequence 配置文件之前安装MySQL Server的时候编码格式好像改了, 才使的MySQL Workbench能打开配置文件;过完年回来发现还是会报错,这个报错看

  • MySQL出现this is incompatible with sql_mode=only_full_group_by错误的解决办法

    目录 这个就是错误截图 出现原因: MySQL的版本问题 解决办法:两种 第一种:修改MySQL的配置文件 第二种方法:修改自己的sql 总结 这个就是错误截图 出现原因: MySQL的版本问题 MySQL 5.7.5以上版本,实现了对功能依赖的检测.如果启用了only_full_group_by SQL模式(默认启用),那么MySQL就会拒绝执行 select list.HAVING condition或ORDER BY list引用既不在GROUP BY子句中被命名,也不在功能上依赖于GRO

  • mysql常见的错误提示问题处理小结

    1.mysql服务无法启动,报1067错误 解决方案: 1).把mysql服务端解压目录新加一个my.ini文件,内容如下 [mysqld] # set basedir to installation path, e.g., c:/mysql # 设置为MYSQL的安装目录 basedir=c:/tool/mysql5617win32 # set datadir to location of data directory, # e.g., c:/mysql/data or d:/mydata/d

  • 解决MySQL 5.7.9版本sql_mode=only_full_group_by问题

    MySQL 5.7.9版本sql_mode=only_full_group_by问题 用到GROUP BY 语句查询时com.MySQL.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'col_user_6.a.START_TIME' which is not func

随机推荐