请帮助,我使用group_concat来获取逗号分隔的数字,但它只显示超过3000个值中的72个。
SELECT GROUP_CONCAT( `phone` )
FROM `notify`
LIMIT 0 , 4000
答案 0 :(得分:2)
group_concat函数的最大长度为[From MySQL Documentation]
结果被截断为由。给出的最大长度 group_concat_max_len系统变量,其默认值为 1024.该值可以设置得更高,尽管返回值的有效最大长度受值的约束 max_allowed_packet的。更改值的语法 group_concat_max_len在运行时如下,其中val是一个 无符号整数:SET [GLOBAL | SESSION] group_concat_max_len = val;
返回值是非二进制或二进制字符串,具体取决于 参数是非二进制还是二进制字符串。结果类型 除非group_concat_max_len小于或等于,否则为TEXT或BLOB 512,在这种情况下,结果类型是VARCHAR或VARBINARY。
但是你可能不应该做你正在做的事情:最好只是逐行获取行,并让你的应用程序将它们连接成一个以逗号分隔的字符串。
答案 1 :(得分:1)
group_concat结果长度被限制(截断)为group_concat_max_len系统变量的值。此变量的默认值为1024。
如果要更改语法的变量值:
SET [GLOBAL | SESSION] group_concat_max_len = val;