MySQL5.7.x中group concat函数数据被截断问题解决
MySQL5.6中没这个问题,5.7中存在group concat函数数据被截断的问题,查询默认初始设置
mysql> show variables like 'group_concat_max_len';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set (0.00 sec)
能查询出来,但是查询结果异常,
MySQL官方手册 对它的定义是 The maximum permitted result length in bytes for the GROUP_CONCAT() function. ,也就是它限制了 GROUP_CONCAT 数据的长度。
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html
The maximum value for group_concat_max_len for 64-bit is 18446744073709551615
The maximum value for group_concat_max_len for 32-bit is 4294967295
解决方法:
1、修改MySQL配置文件my.cnf,在[mysqld]节点中添加
group_concat_max_len = 18446744073709551615
2、更改全局配置
SET GLOBAL group_concat_max_len=18446744073709551615;
SET SESSION group_concat_max_len=18446744073709551615;
使配置在当前会话中也立即生效,其它已经登录的会话终端需要重启生效,查询查询结果正常。
Tag标签:「group mysql concat group_concat_max_len 截断」更新时间:「2021-11-03 16:16:35」阅读次数:「826」