mysql8报sql_mode=only_full_group_by(存储过程一直报)

1:修改数据库配置(重启失效)

sql 复制代码
select @@global.sql_mode;

会打印如下信息

sql 复制代码
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

里面包含 ONLY_FULL_GROUP_BY,那么就重新设置,在数据库中输入以下代码,去掉ONLY_FULL_GROUP_BY即可:

sql 复制代码
SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';

2:修改mysql配置文件永久生效,修改后重启,即可生效

修改配置文件my.ini ,在mysqld模块下新增一行配置:

sql 复制代码
sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';

3:存储过程名 test_procedure_group_by,执行存储过程报错

4:查看存储过程的sql_mode

sql 复制代码
select routine_catalog,routine_schema,routine_name,routine_type,created,last_altered,sql_mode from information_schema.routines where routine_name='test_procedure_group_by';

5:解决办法很简单,重建该存储过程即可,即使每次执行都先删除再创建

sql 复制代码
drop procedure test_for_group_by;

修改sql_mode系统变量,只对新建连接和新建对象(主要包括函数和存储过程)有效,对已有连接和已有对象不生效

可以先通过代码sql删除存储过程,然后在调用存储过程

相关推荐
KIDULT°2 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
我不是程序员三三3 小时前
透明加密软件偶发解密异常排错实录:文件时能打开时乱码
数据库·域智盾
snhna3 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
天行健,君子而铎3 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
牛战士coding3 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
goehou4 小时前
MCP 查数实战:让 LLM 安全地查数据库(只读账号、SQL 校验、参数漂移)
数据库·ai·llm·教程·mcp·function calling
我不会插花弄玉5 小时前
7.函数【由浅入深-MySQL】
android·数据库·mysql
周小董5 小时前
[1369]Windows上安装PostgreSQL
数据库·windows·postgresql
一只积极向上的小咸鱼7 小时前
第一性原理思考:从拆解问题到用实验检验答案
数据库
这个DBA有点耶8 小时前
时序数据库InfluxDB高基数问题深度拆解:内存索引膨胀机制与OOM完整链路
数据库·架构·dba