GROUP_CONCAT显示LIMITE结果
请帮帮忙,我用GROUP_CONCAT获得逗号分隔的电话号码,但它是只显示72个超过3000倍的值。GROUP_CONCAT显示LIMITE结果
SELECT GROUP_CONCAT( `phone`)
FROM `notify`
LIMIT 0 , 4000
的GROUP_CONCAT函数具有结果被截断由所述 group_concat_max_len系统变量,其具有 1024的缺省值给定的最大长度的最大长度[来自MySQL Documentation]
。值可以设置得更高,但返回值的有效最大长度受限于max_allowed_packet的值 。语法改变 在运行时group_concat_max_len的值如下,其中val是 无符号整数:SET [GLOBAL | SESSION] group_concat_max_len = val;
返回值是一个非二进制或二进制字符串,这取决于 的论点是否有非二进制或二进制字符串。结果类型 是TEXT或BLOB除非group_concat_max_len小于或等于512 ,在这种情况下,结果类型是VARCHAR或VARBINARY。
但是,你可能不应该在做你正在做的事情:最好是只取1行1行,并让你的应用程序将它们连接成一个以逗号分隔的字符串。
的GROUP_CONCAT结果长度是有限的(截断)到group_concat_max_len系统变量的值。这个变量的默认值是1024
如果你想改变变量语法的值:
SET [GLOBAL | SESSION] group_concat_max_len = val;
请在哪里添加SEt [全球...? – 2012-08-14 07:52:43
运行其上的MySQL编辑器 SET group_concat_max_len =# – sel 2012-08-14 07:56:00
我该怎么办呢? – 2012-08-14 07:53:25
你使用什么应用程序?你正在写一个程序,什么语言? – Konerak 2012-08-14 07:54:22