mysql查询group_concat()数据不全问题解决

查询该语句发现数据居然缺失如下:

140020##2014年记账式附息(二十期)国债##14附息国债20,G140020##2014年记账式附息(二十期)国债##14附息国债20, 省略部分数据...... ,101424##2014年记账式附息(二十四期)国债##国债1424,140024##

查来查去终于发现了一个巨坑,那就是group_concat()有长度限制102400, 可能数据太长导致被截断.

解决方法一:

windows下在my.ini加上group_concat_max_len = 102400 //自己设置的值

linux在mysql.cof中加上group_concat_max_len =102400 //自己设置的值

linux或者在my.cnf中加入如下
[mysqld]
group_concat_max_len = 4294967295(也可以为-1最大值)

重启mysql服务,完美解决,

注,mysql安装目录下没有my.ini,创建一个并加入:

group_concat_max_len = 4294967295

解决方法二:(不推荐,因为数据库重启后长度会重新变回1024)

登录后复制
//查看当前数据库的groupconcat长度
SHOW VARIABLES LIKE 'group_concat_max_len';

//执行以下语句修改成自己想要的长度
SET GLOBAL group_concat_max_len = 102400;
SET SESSION group_concat_max_len = 102400;


©著作权归作者所有:来自51CTO博客作者ch3nnn的原创作品,请联系作者获取转载授权,否则将追究法律责任
mysql查询group_concat()数据不全导致数据被截断问题
https://blog.51cto.com/ch3nnn/5483293

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容