在mysql中的group_concat函數(shù)默認支持的最大字符數(shù)為1024。
當(dāng)你使用group_concat函數(shù)時,超出第1024字符的字符會全部丟失。
今天就被這個問題搞了一兩個小時。不使用group by和group_concat時數(shù)據(jù)是正確的蔗蹋。
一用就發(fā)現(xiàn)使用了group_concat函數(shù)的列少了一些數(shù)據(jù)。
獲得group_concat的最大長度
SELECT @@global.group_concat_max_len;
或者
show variables like "group_concat_max_len";
一看自己的mysql中g(shù)roup_concat的最大限制 發(fā)現(xiàn)等于1024
解決方法:
1.使用sql設(shè)置group_concat的最大長度
SET GLOBAL group_concat_max_len=102400;
SET SESSION group_concat_max_len=102400;
但是這種方式在重啟mysql后就無效囱淋。
2.在MySQL配置文件中my.conf或my.ini中添加:
#[mysqld]
group_concat_max_len=102400
然后重啟mysql服務(wù)