在数据库直接查数据,需要mysql需要将一列中数据处理成一行展示处理,用于其他逻辑处理,但是不想查询出来自己拼接,所以找到了GROUP_CONCAT函数
使用方式如下
select GROUP_CONCAT(biz_id) from tb_basic_school
但是在使用过程中发现查询数据总感觉少,而且发现最后一条获取的数据是不完整的,于是查了一下GROUP_CONCAT函数,发生深坑,网友这样形容
像毒一样的Bug之group_concat默认长度限制。
原因:mysql的group_concat默认连接长度为1024字符,也就是说你需要连接后的连接超过1024字符,它只会显示这么长,其余部分都会被截取丢掉。
解决办法:
(1)使用sql语句
SET GLOBAL group_concat_max_len=102400;
SET SESSION group_concat_max_len=102400;
(2)修改配置文件
在mysql配置文件中添加如下这句,修改配置文件后记得需要重启mysql服务
group_concat_max_len = 102400