mysql group_concat函数的长度问题

网上搜了下 GROUP_CONCAT 数据截断的问题,答案都指向了 group_concat_max_len 这个参数,它的默认值正好是1024。可以直接在数据库中通过下面的命令查看这个默认值:

mysql> show variables like 'group_concat_max_len';
+----------------------+-------+
| Variable_name  | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set (0.00 sec)
mysql>

所以解决办法只要调整 group_concat_max_len 最大值就行了。

-- 【必须操作】更改全局配置----
SET GLOBAL group_concat_max_len=1024000;
-- 【可选操作】使配置在当前会话中也立即生效,其它已经登录的会话终端需要重启生效----
SET SESSION group_concat_max_len=1024000;

或者:

在C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
文件追加
max_allowed_packet=20M
group_concat_max_len = 102400000
SHOW VARIABLES LIKE "group_concat_max_len"; 
重启mysql服务

转载于:https://www.cnblogs.com/java-jun-world2099/articles/10304775.html

你可能感兴趣的:(mysql group_concat函数的长度问题)