MySQL GROUP_CONCAT长度限制引发的一场灾难

时间:2020-12-19 06:27:07

GROUP_CONCAT函数是对查处的分组数据对于分组列相同的数据合并成一列用逗号隔开的函数。

但是该函数的长度有个默认限制,默认是1024个字符,超过就会截断,从而导致用count统计GROUP_CONCAT的数量与实际打印GROUP_CONCAT具体值得数量不一致。

在代码排查的过程中Mybatis从数据库拿出来的值始终小于1024个字符,最终解决方法如下:

修改MySQL的一直参数GLOBAL group_concat_max_len;

set GLOBAL group_concat_max_len = 102400;   --默认是1024