GROUP_CONCAT and Longtext

5

我需要将MySQL数据库表中的两个文本字段合并为一个,因此我使用以下SQL脚本来完成:

表:tbl_newsitems 合并:需要合并“ni_text”中相同“news_id”的文本 表结构如下:

zNg6f

用于合并文本的代码如下: SELECT news_id, GROUP_CONCAT(ni_text SEPARATOR ' ') FROM tbl_newsitems GROUP BY news_id;

但是它在结果部分中不会显示完整的文本。 CONCAT字段被修剪,并且缺少一些文本。 CONCAT字段的默认数据类型是TEXT(1024)

结果:

那么,如何将整个文本合并到一个字段中而不删除内容? 请给我这样做的脚本。

谢谢


1
你能否将你的创建表语句和一些示例数据粘贴到sqlfiddle -> http://sqlfiddle.com/? - Raymond Nijland
1个回答

10
为了“修复”您的`group_concat`问题,需要增加服务器设置`group_concat_max_len`。
我认为您可以仅为会话(当前连接)设置它,而无需全局/永久更改服务器上的设置。在查询之前执行像这样的语句`SET group_concat_max_len = 1000000;`应该可以解决这个问题。
参考:MySQL 5.7参考手册 / ... / 服务器系统变量

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接