一尘不染

使用Group_Concat和Concat时MySQL截断结果

sql

我有以下SQL(我删除了一些selesct fi:

SELECT node_revisions.title                          AS 'Task', 
       node_revisions.body                           AS 'Description', 
       Date_format(field_due_date_value, '%e/%c/%Y') AS 'Due Date', 
       users.name                                    AS 'User Name', 
       (SELECT GROUP_CONCAT(Concat(CHAR(10),Concat_ws( ' - ', name, From_unixtime( TIMESTAMP, 
               '%e/%c/%Y' )),CHAR(10),COMMENT))
        FROM   comments 
        WHERE  comments.nid = content_type_task.nid) AS 'Comments' 
FROM   content_type_task 
       INNER JOIN users 
         ON content_type_task.field_assigned_to_uid = users.uid 
       INNER JOIN node_revisions 
         ON content_type_task.vid = node_revisions.vid 
ORDER  BY content_type_task.nid DESC

这将撤回我的所有任务以及与该任务相关的所有注释。我的问题是评论字段;使用 GROUP_CONCAT
创建的文件将截断输出。我不知道为什么,我也不知道如何克服这个问题。(看起来是341ish字符)


阅读 199

收藏
2021-03-10

共1个答案

一尘不染

默认情况下,GROUP_CONCAT()限制为1024个字节。

要解决此限制并允许最多100 KB的数据,请添加group_concat_max_len=102400my.cnf或使用来查询服务器SET GLOBAL group_concat_max_len=102400

2021-03-10