我有以下 SQL(我删除了一些选择 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 个字符)
最佳答案
GROUP_CONCAT() 默认限制为 1024 字节。
要解决此限制并允许最多 100 KB 的数据,
在 my.cnf 中添加 group_concat_max_len=102400
或使用 SET GLOBAL group_concat_max_len=102400
查询服务器。
关于使用 Group_Concat 和 Concat 时 MySQL 截断结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4469474/