网上搜了下 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服务