当前位置: 首页 > news >正文

Mysql GROUP_CONCAT函数数据超长导致截取问题记录

问题

今天在日常开发过程中,发现了一个查询问题。同样一个sql,查询id就能查到,但查询编码就查不到数据。后来发现某个编码的长度不对,才发现是被截取了。

原因

在 MySQL 中使用 GROUP_CONCAT 函数时,如果拼接的数据量过大,可能会导致结果被截断(部分丢失)。
这是因为 MySQL 有一个系统变量 group_concat_max_len 用于限制 GROUP_CONCAT 函数的最大返回长度,默认值通常是 1024 字节。当拼接结果超过这个限制时,超出部分会被自动截断,且不会报错。

解决方法

  1. 临时调整限制(当前会话有效)
SET SESSION group_concat_max_len = 102400; -- 设置为 100KB
  1. 全局调整限制(需要权限,重启后失效,除非修改配置文件)
SET GLOBAL group_concat_max_len = 1048576; -- 设置为 1MB
  1. 永久生效
    在 MySQL 配置文件(如 my.cnf 或 my.ini)中添加:
[mysqld]
group_concat_max_len = 1048576
http://www.lryc.cn/news/618270.html

相关文章:

  • 测试自动化框架全解读:为什么、类型、优势与最佳实践
  • 分布式光伏气象站:为光伏电站的 “气象感知眼”
  • 【opencv-Python学习笔记(2): 图像表示;图像通道分割;图像通道合并;图像属性】
  • 云原生应用的DevOps3(CI/CD十大安全风险、渗透场景)
  • LeetCode 2787.将一个数字表示成幂的和的方案数:经典01背包
  • 小红书笔记信息获取_实在智能RPA源码解读
  • 使用 NetBird 创建安全的私有网络,简化远程连接!
  • 完整多端口 Nginx Docker部署 + GitLab Runner注册及标签使用指南
  • 从原理到实践:一文掌握Kafka的消息生产与消费
  • Unity:GUI笔记(一)——文本、按钮、多选框和单选框、输入框和拖动条、图片绘制和框绘制
  • 从零部署Nacos:替代Eureka的服务注册与服务发现基础教程
  • WPS文字和Word:不只是表格,段落也可以排序
  • 文字转语音 edge_tts
  • 微内核与插件化设计思想及其在前端项目中的应用
  • PostgreSQL 范围、空间唯一性约束
  • 用 Apache Iceberg 与 Apache Spark 在 Google Cloud 打造高性能、可扩展的数据湖仓
  • Flink运行时的实现细节
  • SQL 语言分类
  • Spark 运行流程核心组件(一)作业提交
  • 数据量暴涨时,抓取架构该如何应对?
  • 开发npm包【详细教程】
  • Bevy渲染引擎核心技术深度解析:架构、体积雾与Meshlet渲染
  • C++Linux八股
  • 08--深入解析C++ list:高效操作与实现原理
  • K8S 节点初始化一键脚本(禁用 SELinux + 关闭 swap + 开启 ipvs 亲测实用)
  • 微前端架构:原理、场景与实践案例
  • 前端JS处理时间,适用于聊天、操作记录等(包含刚刚、x分钟前、x小时前、x天前)
  • Windows已经安装了一个MySQL8,通过修改配置文件的端口号跑2个或多个Mysql服务方法,并注册为系统服务
  • lesson36:MySQL从入门到精通:全面掌握数据库操作与核心原理
  • 嵌入式系统学习Day17(文件编程)