MYSQL切断了GROUP BY上的部分字符串

时间:2015-07-16 10:54:47

标签: mysql database text

我正在使用此命令创建整个表:

INSERT INTO `odm_rodzice`(`Kropkoogonek`, `Rodzice`, `RodziceID`, `Ilosc`) 
SELECT 
    Kropkoogonek, 
    group_concat(`Slowo` separator ', ') AS Rodzice, 
    group_concat(`Rodzic` separator ', ') AS RodziceID,
    COUNT(*) AS Liczba
FROM odm_kropkoogonki 
LEFT JOIN odm_slownik ON odm_kropkoogonki.Rodzic = odm_slownik.ID
WHERE odm_kropkoogonki.ID = 2000000
GROUP BY Kropkoogonek

事实证明,最长的字符串(260个6个字母的单词)太短并且以某种方式切割:

SELECT Rodzice FROM slownik.`odm_rodzice` WHERE Kropkoogonek = 'p.....'; 

GIVES:

płonne, poznał, polazę, (...) pszona, pełzną, pełzną, pełz

它有893个字母 - 虽然它大约有1838个(包括','),但最后一个字是不完整的。

列类型为TEXT。

我做错了什么?

祝你好运!

1 个答案:

答案 0 :(得分:2)

您受group_concat_max_len影响(记录为here)。

最大值为1024 bytes 。你有重音字符,所以平均字符长度可能超过一个字节。

您可以将此值更改为更大的值并重新运行查询。