group_concat的坑,默认长度问题。

问题

今天处理mysql数据统计问题。在数据很大的情况下,发现一个很奇怪的问题,group_concat查询出来的数据总是不全。绞尽脑汁的测试mysql语句就是不得解,万般无奈百度下。

原因

数据太大,group_concat超出了默认值1024,超过就会截断。

解决方法

1.查看当前 mysql group_concat_max_len
进入mysql状态,输入:show variables like 'group_concat_max_len';

mysql> show variables like 'group_concat_max_len';
+----------------------+------------+
| Variable_name | Value |
+----------------------+------------+
| group_concat_max_len | 4294967295 |
+----------------------+------------+
1 row in set

2.在MySQL配置文件中添加配置:group_concat_max_len = -1 (-1为最大值或根据实际需求设置长度),配置后需要重启MySQL服务
如果是生产环境下,不能擅自重启MySQL服务,则可以通过语句设置group_concat的作用范围,如:
SET SESSION group_concat_max_len=-1;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 8,340评论 0 33
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 12,356评论 5 116
  • MySQL提供的group_concat函数可以拼接某个字段值成字符串,如 select group_concat...
    安易学车阅读 9,928评论 0 1
  • 什么是环境变量 打开我们添加环境变量的两个目录, 不难发现里面大部分都是.exe的可执行程序如果我们不配置环境变量...
    喝酸奶要舔盖__阅读 3,012评论 1 1
  • 妈妈有时候会和我讲我小时候的事。 比如到邻居牛爷爷家吃香蕉。可不把自己当外人了,吃了好几根以后还要吃,牛爷爷怕我吃...
    岳柠檬阅读 2,880评论 2 2

友情链接更多精彩内容