添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接


在数据库直接查数据,需要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