前天在生产环境中遇到一个问题:使用 GROUP_CONCAT函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题。后面故意重新INSERT了一个字段长度超1024字节的数据,但是navicat能完整展示出来,所以就排除了navicat的问题。

然后想到1024这个熟悉的数字,会不会是C++框架在接收MySQL通过socket传输过来的数据时被处理了呢?于是手工在日志中打印这个字段,发现即使数据长度超过1024字节仍然是可以完整显示的。

1 查找原因

至此,只能从SQL语句出发了。网上搜了下 GROUP_CONCAT 数据截断的问题,答案都指向了 group_concat_max_len 这个参数,它的默认值正好是1024。可以直接在数据库中通过下面的命令查看这个默认值:

mysql> show variables like 'group_concat_max_len';

+----------------------+-------+

| Variable_name | Value |

+----------------------+-------+

| group_concat_max_len | 1024 |

+----------------------+-------+

1 row in set (0.00 sec)

mysql>

MySQL官方手册 对它的定义是The maximum permitted result length in bytes for the GROUP_CONCAT() function. ࿰

mysql数据被截断_Mysql5.7中使用groupconcat函数数据被截断的问题完美解决方法相关推荐

  1. Python练习 | Python中的strip()函数使用???(求解决方法)

    import requests comments = requests.get('http://comment5.news.sina.com.cn/cmnt/count?format=json& ...

  2. mysql+concat函数问题_Mysql5.7中使用group concat函数数据被截断的问题完美解决方法...

    前天在生产环境中遇到一个问题:使用 GROUP_CONCAT函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题.后面故意重新I ...

  3. 数组x中数据复制到数组y中,重复的数据只存储一次,最后输出y;计算x中数据的平均值ave及大于平均值的元素个数n。c++实现

    题目描述 编程序,实现如下功能: (1)定义两个一维数组x,y,不超过50个元素. (2)从键盘输入k个整数到数组x中. (3)计算x中数据的平均值ave及大于平均值的元素个数n并输出. (4)将数组 ...

  4. 数据逻辑结构在计算机存储器中的表示称为数据的存储结构

    数据逻辑结构在计算机存储器中的表示称为数据的存储结构(或存储表示),也称为物理结构.通常情况下,同一种逻辑结构可以设计多种存储结构,在不同的存储结构中,实现同一种运算的算法可能不同. 逻辑结构.存储结 ...

  5. python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法

    0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...

  6. mysql 自动停止_MySQL数据库之mysql自动停止的完美解决方法

    本文主要向大家介绍了MySQL数据库之mysql自动停止的完美解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 这两天新买的服务器mysql总是自动停止,查了日志 9:1 ...

  7. JSP中get和post请求方式的区别及乱码解决方法

    JSP中get和post请求方式的区别及乱码解决方法 get提交方式:默认method="get" 和 地址栏.超链接请求方式默认都属于get提交方式 form表单的method属 ...

  8. 10038 mysql,关于MySql 10038错误的完美解决方法(三种)

    第一种方法: 第一步: 先看报错窗口 2003 can't connect to MySQL server on '127.0.0.1'(10038). 第二步: 原因是:远程3306端口未对外开放操 ...

  9. mysql 2003 10038_关于MySql10038错误的完美解决方法(三种)

    第一种方法: 第一步: 先看报错窗口 2003 can't connect to MySQL server on '127.0.0.1'(10038). 第二步: 原因是:远程3306端口未对外开放操 ...

最新文章

  1. golang已关闭channel
  2. 在vs code中创建代码片段
  3. Java-值传递和引用传递
  4. SpringMVC流程架构图
  5. HDU 2065 红色病毒 指数型母函数+泰勒公式
  6. 《DSP using MATLAB》Problem 7.26
  7. 福州大学计算机学院软件实力,福建五大重点大学,哪一所实力最好?
  8. 计算机word怎么选中全文,word怎么选择 WORD怎么选取全文
  9. 求Python字典最小(最大)values对应的key
  10. scjp第一章学习总结
  11. 一阶广义差分模型_计量经济学习题第5章 自相关性
  12. Linux中tar的参数zxf,tar命令
  13. 计算机考研人工智能方向,2022考研计算机学科研究方向:人工智能
  14. STM32显示图片,将图片转换为十六进制数组便捷工具
  15. 基于python的博客设计与开发_基于python的博客设计与开发毕业设计
  16. 新一代打包神器parcel简介
  17. SD卡报错“error -110 whilst initialising SD card
  18. Codeforces Round #614 (Div. 2) E. Xenon's Attack on the Gangs(DP记忆化搜索+思维)
  19. Docker/Podman使用入门---从容器构建镜像 提交镜像到服务器UCloud dockerhub
  20. 基于OpenPose的坐姿识别

热门文章

  1. 性能测试能力提升最终篇-全链路压测
  2. syntax error, unexpected ‘array‘ (T_ARRAY)
  3. [SV] ignore_bins 用法
  4. 递归习题—排队游戏(C程序设计进阶 第3周)
  5. Mysql 分库分表 Mycat
  6. g4560和二代i5_奔腾g4560和i5 2500K哪个好
  7. opengl freeglut flew glut安装配置教程 VS2019 Windows10,无需复制文件
  8. Matlab GUI编程技巧(十三):checkbox创建复选框
  9. c++ typeid和type_index
  10. Usage of Pseudocode