<导航

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服务

posted @ 2019-01-22 16:58  字节悦动  阅读(613)  评论(0)    收藏  举报