2009-06-15 69 views
1

下面的查询被截断,用“创造”仅显示“CRE”(滚动到最右侧的第一:):结果被截断,一个MYSQL错误?

mysql> SELECT GROUP_CONCAT(CONCAT('<comment><body><![CDATA[',body,']]></body>','<replier>',if(uid is not null,uid,''),'</replier>','<created>',created,'</created></comment>') SEPARATOR '') 
     ->           FROM idiscussion 
     -> 
     ->           WHERE idiscussion.iask_id = 1; 
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
    | GROUP_CONCAT(CONCAT('<comment><body><![CDATA[',body,']]></body>','<replier>',if(uid is not null,uid,''),'</replier>','<created>',created,'</created></comment>') SEPARATOR '')                                                                                                                                                                                                                     | 
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
    | <comment><body><![CDATA[haha]]></body><replier></replier><created>2009-05-27 04:57:51</created></comment><comment><body><![CDATA[haha]]></body><replier></replier><created>2009-05-27 04:57:52</created></comment><comment><body><![CDATA[haha]]></body><replier></replier><created>2009-05-27 04:57:52</created></comment><comment><body><![CDATA[haha]]></body><replier></replier><created>2009-05-27 04:57:53</created></comment><comment><body><![CDATA[r]]></body><replier></replier><created>2009-05-29 21:55:44</created></comment><comment><body><![CDATA[s]]></body><replier></replier><created>2009-05-29 23:04:39</created></comment><comment><body><![CDATA[dddret]]></body><replier></replier><created>2009-05-29 23:15:41</created></comment><comment><body><![CDATA[sser]]></body><replier></replier><created>2009-05-29 23:17:13</created></comment><comment><body><![CDATA[aaaaaaassaaaaaa]]></body><replier></replier><created>2009-05-29 23:23:32</created></comment><comment><body><![CDATA[testjjjjjjjjjjj]]></body><replier></replier><cre | 
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
    1 row in set, 1 warning (0.00 sec) 

这里是确定年代的结构和数据记录:

mysql> show create table idiscussion; 
+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Table  | Create Table                                                                                                                  | 
+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| idiscussion | CREATE TABLE `idiscussion` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
    `iask_id` int(10) unsigned DEFAULT NULL, 
    `ianswer_id` int(10) unsigned DEFAULT NULL, 
    `uid` int(10) unsigned DEFAULT NULL, 
    `body` varchar(600) NOT NULL, 
    `created` datetime NOT NULL, 
    PRIMARY KEY (`id`), 
    KEY `i_idiscussion_uid` (`uid`), 
    KEY `i_idiscussion_iask` (`iask_id`), 
    KEY `i_idiscussion_ianswer` (`ianswer_id`) 
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 | 
+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 

mysql> select *from idiscussion; 
+----+---------+------------+------+----------------------------+---------------------+ 
| id | iask_id | ianswer_id | uid | body      | created    | 
+----+---------+------------+------+----------------------------+---------------------+ 
| 1 |  1 |  NULL | NULL | haha      | 2009-05-27 04:57:51 | 
| 2 |  1 |  NULL | NULL | haha      | 2009-05-27 04:57:52 | 
| 3 |  1 |  NULL | NULL | haha      | 2009-05-27 04:57:52 | 
| 4 |  1 |  NULL | NULL | haha      | 2009-05-27 04:57:53 | 
| 5 | NULL |   1 | NULL | hey!      | 2009-05-29 01:56:22 | 
| 6 | NULL |   1 | NULL | hey!      | 2009-05-29 01:56:23 | 
| 7 | NULL |   1 | NULL | hey!      | 2009-05-29 01:56:25 | 
| 8 | NULL |   2 | NULL | hey!      | 2009-05-29 01:56:44 | 
| 13 | NULL |   1 | NULL | haha,works!    | 2009-05-29 21:29:50 | 
| 14 |  1 |  NULL | NULL | r       | 2009-05-29 21:55:44 | 
| 15 | NULL |   1 | NULL | so       | 2009-05-29 21:55:57 | 
| 16 | NULL |   2 | NULL |       | 2009-05-29 22:05:41 | 
| 17 | NULL |   3 | NULL | sss      | 2009-05-29 22:16:27 | 
| 18 | NULL |   3 | NULL | hi       | 2009-05-29 23:00:10 | 
| 19 | NULL |   1 | NULL | hi       | 2009-05-29 23:03:06 | 
| 20 |  1 |  NULL | NULL | s       | 2009-05-29 23:04:39 | 
| 21 |  1 |  NULL | NULL | dddret      | 2009-05-29 23:15:41 | 
| 22 |  1 |  NULL | NULL | sser      | 2009-05-29 23:17:13 | 
| 23 |  1 |  NULL | NULL | aaaaaaassaaaaaa   | 2009-05-29 23:23:32 | 
| 24 | NULL |   1 | NULL | aasasqwqwqw aa    | 2009-05-29 23:23:56 | 
| 25 | NULL |   6 | NULL | dianpinyixia...   | 2009-05-30 00:58:04 | 
| 26 |  1 |  NULL | NULL | testjjjjjjjjjjj   | 2009-06-15 23:12:58 | 
| 27 |  1 |  NULL | NULL | hhhhhhhhhhhhhhhhhhh  | 2009-06-15 23:14:08 | 
| 28 |  1 |  NULL | NULL | hey..................  | 2009-06-15 23:18:47 | 
| 29 | NULL |   6 | NULL | kkkkkkkkkkkkkkkkkkkkk  | 2009-06-15 23:22:30 | 
| 30 | NULL |   6 | NULL | jjjjjjjjjjjjjjjjj   | 2009-06-15 23:24:58 | 
| 31 | NULL |   6 | NULL | ssssssssssssssssssssssssss | 2009-06-15 23:26:01 | 
| 32 |  1 |  NULL | NULL | hahahahhaahhahahah   | 2009-06-15 23:26:30 | 
| 33 |  1 |  NULL | 4 | .faint................. | 2009-06-15 23:28:16 | 
+----+---------+------------+------+----------------------------+---------------------+ 
29 rows in set (0.00 sec) 
+0

您的_exact_问题在http://stackoverflow.com/questions/529105/trouble-with-concat-and-longtext – 2009-06-15 15:58:48

回答

2

这是配置设置:

在my.cnf group_concat_max_len=4096

SET GLOBAL group_concat_max_len=4096 
2

documentation

的结果被截断到由所述group_concat_max_len系统变量,其具有1024缺省值给定的最大长度。尽管返回值的有效最大长度受到max_allowed_packet的值的限制,但该值可以设置得更高。语法在运行时改变的group_concat_max_len值如下,其中val是无符号整数:

SET [GLOBAL | SESSION] group_concat_max_len = val; 
1

the docs

结果被截断为最大 长度是由 group_concat_max_len系统变量 给出,默认值为1024.

截断的字符串自然是1024个字符长。