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