共计 字 • 阅读约 min

原因

通常我们使用 GROUP_CONCAT 函数是用来对数据进行聚合,形成格式化的 JSON 数据,但是默认的 MySQL GROUP_CONCAT 函数聚合最大长度是 1024,超出的会自动截断

show variables like '%group_concat%';

image1610297165753.png

image1610296967087.png

这样就会导致我们解析 JSON 数据失败!

解决方法:

临时解决

我们可以在查询之前添加子句

set group_concat_max_len = 99999;

可不可以无限大,可以将值 改为 -1 。
这种方法在断开连接后,值会恢复到 1024

永久性修改

找到 my.ini 或 my.conf 文件
该变量是没有在这些文件中声明的,我们只需要加上下面这句即可:

一定要写在[mysqld]节点下面,否则不会生效

group_concat_max_len = 99999

重启 MySQL

service mysqld restart


文章更新于: 2021-3-28 0:26:3