mysql:group_concat()长度限制

GROUP_CONCAT() 是有最大长度限制的,默认值是 1024

SHOW VARIABLES LIKE 'group_concat_max_len'

mysql:group_concat()长度限制
可以通过 group_concat_max_len 参数进行动态设置。参数范围可以是 Global 或 Session。

格式:SET [GLOBAL|SESSION] group_concat_max_len=val

val值是无符号整型,最大值与版本位数有关:

mysql版本号 最小值 最大值 备注
32 位 4 4294967295 2^32
64 位 4 18446744073709551615 2^64)

设置32位mysql最大值

    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的值约束,默认值为4M

查看目前配置

show VARIABLES like '%max_allowed_packet%';

mysql:group_concat()长度限制

方案1:修改配置文件my.cnf:(推荐方式)
在[mysqld]段新增如下:
    max_allowed_packet = 20M

mysql:group_concat()长度限制

方案2:mysql命令
在mysql 命令行中运行
    set global max_allowed_packet = 2*1024*1024*10
    然后退出命令行,重启mysql服务
    查看是否修改成功
    show VARIABLES like '%max_allowed_packet%'

猜你喜欢

转载自blog.51cto.com/1929297/2530801