GROUP_CONCAT() 是有最大长度限制的,默认值是 1024mysql
SHOW VARIABLES LIKE 'group_concat_max_len'
能够经过 group_concat_max_len 参数进行动态设置。参数范围能够是 Global 或 Session。sql
格式:SET [GLOBAL|SESSION] group_concat_max_len=val
val值是无符号整型,最大值与版本位数有关:markdown
mysql版本号 | 最小值 | 最大值 | 备注 |
---|---|---|---|
32 位 | 4 | 4294967295 | 2^32 |
64 位 | 4 | 18446744073709551615 | 2^64) |
设置32位mysql最大值ide
SET GLOBAL group_concat_max_len = 4294967295; 或 SET SESSION group_concat_max_len = 4294967295;
设置64位mysql最大值命令行
SET GLOBAL group_concat_max_len = 18446744073709551615; 或 SET SESSION group_concat_max_len = 18446744073709551615;
有效最大长度受max_allowed_packet的值约束,默认值为4M3d
查看目前配置code
show VARIABLES like '%max_allowed_packet%';
方案1:修改配置文件my.cnf:(推荐方式) 在[mysqld]段新增以下: max_allowed_packet = 20M
方案2:mysql命令 在mysql 命令行中运行 set global max_allowed_packet = 2*1024*1024*10 而后退出命令行,重启mysql服务 查看是否修改为功 show VARIABLES like '%max_allowed_packet%'