mysql GROUP_CONCAT的坑

523 阅读1分钟

1、问题原因

函数GROUP_CONCAT返回值默认有最大长度1024限制

SHOW VARIABLES LIKE 'group_concat_max_len';
----#output:1024

2、解决方式一(已验证)

如果预知会出现返回值截断风险,在前面先使用代码

SET SESSION group_concat_max_len = 10240;
...
//group_concat_max_len 默认值是1024
DB::select('SET SESSION group_concat_max_len = 102400');
...

3、解决方式二(已验证)

在MySQL Server my.ini 文件中在 max_connections=2000 后边增加 group_concat_max_len=102400