The SQL…
UPDATE Threads t SET t.Content = ( SELECT GROUP_CONCAT(a.Content ORDER BY a.PageID SEPARATOR '<!-- pagebreak -->') FROM MSarticlepages a WHERE a.ArticleID = t.MSthreadID GROUP BY a.ArticleID )
As you can see it takes all of an article’s pages (which are each stored as longtext in separate rows) and GROUP_CONCATs them into a single longtext row. The problem is the results are only so many characters and then it gets completely truncated, losing about 90% of the contents. Does CONCAT not handle longtext very well or is there something else I am doing wrong?
According to the MySQL manual, the maximum length of
GROUP_CONCATis defined by thegroup_concat_max_lensystem variable, which defaults to 1024.This value can be increased, by using the following command:
It should be noted, however, that the value of
group_concat_max_lenis itself limited by the value of another system variable,max_allowed_packet, which defaults to 1,048,576.This value can be increased to a maximum of 1,073,741,824, using the same syntax: