解决MySql版本问题sql_mode=only_full_group_by
作者:XiaoMaPro 时间:2024-01-14 00:23:17
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,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
在查出结果中可以看到里面包含了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_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';
修改配置文件去除ONLY_FULL_GROUP_BY这种方式是我个人比较喜欢的.
打开配置文件mysql.cnf
sudo vi /etc/mysql/mysql.cnf
添加配置
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
sudo service mysql restart
进入mysql查看:
SELECT @@sql_mode;
Windows
在Windows修改mysql安装目录下面配置未见 my.ini,在文件中添加
[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
sql_mode=only_full_group_by以及多种解决方案
出错的sql情况
// mysql
SELECT
*
FROM
table t
GROUP BY
t.mobile_no
提示出错:*** which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
原因:
mysql 5.7版本以上sql_mode新加入了only_full_group_by
解决方案1
修改sql_mode(容易被怼,因为大多都是在修改全局的sql_mode)
查看:
select @@sql_mode;
修改:
set @@sql_mode ='';
解决方案2
函数 any_value()
(使用方案一,原本应该是错的sql语句依然执行成功,但有时特殊情况,需要在select 下查询除group以外的值)
SELECT
any_value(t.id),
t.mobile_no
FROM
table t
GROUP BY
t.mobile_no
来源:https://blog.csdn.net/u011893509/article/details/87896806
标签:MySql,sql,mode,only,full,group,by


猜你喜欢
浅谈JavaScript窗体Window.ShowModalDialog使用
2024-04-23 09:05:39
基于Python记录一场2023的烟花
2022-01-08 19:57:07

ASP环境下邮件列表功能的实现
2007-10-03 14:25:00
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2023-12-24 00:54:27
浅谈如何使用python抓取网页中的动态数据实现
2021-10-19 08:47:18

python使用正则筛选信用卡
2021-03-10 14:06:47

Django查询优化及ajax编码格式原理解析
2021-04-26 02:04:27
PyTorch一小时掌握之迁移学习篇
2021-12-13 12:37:11

Flask中Cookie和Session理解与作用介绍
2022-05-03 21:50:35

浅析javascript操作 cookie对象
2024-04-18 10:49:23
Django 实现将图片转为Base64,然后使用json传输
2023-06-14 06:42:28
用Python逐行分析文件方法
2022-07-10 10:17:49
解决MySQL安装重装时出现could not start the service mysql error:0问题的方法
2024-01-23 01:17:00
python+flask编写接口实例详解
2022-10-09 16:09:41

mysql 数据库安装经验问题汇总
2024-01-28 11:55:29
在Pytorch中使用Mask R-CNN进行实例分割操作
2023-05-18 21:41:22

Python文件的操作处理详解
2022-07-07 06:44:16

python代码有一行标黄问题的解决方案
2021-07-16 22:29:57

python面向对象基础之常用魔术方法
2021-08-20 20:08:59

python3 使用openpyxl将mysql数据写入xlsx的操作
2024-01-25 14:58:23
