在MySQL中我使用GROUP_CONCATGROUP_CONCAT允許的最大長度?如何通過它?
SELECT
visits,
GROUP_CONCAT(token) as token
FROM general
GROUP BY visits
但問題是,我有相同的訪問行的數量龐大,並使用PHP它不允許我打印的一切。
是否有解決方法?
在MySQL中我使用GROUP_CONCATGROUP_CONCAT允許的最大長度?如何通過它?
SELECT
visits,
GROUP_CONCAT(token) as token
FROM general
GROUP BY visits
但問題是,我有相同的訪問行的數量龐大,並使用PHP它不允許我打印的一切。
是否有解決方法?
我跑進當我試圖GROUP_CONCAT一個字符串,它太大了同樣的問題..所以我做了什麼來解決這個問題是這樣的
SET SESSION group_concat_max_len = 10000000000000000;
這是一個臨時的功能,這意味着它不會實際永遠改變它,但只在你的查詢會話的範圍內。
我不會建議永遠改變它,但只限於你的查詢範圍......這樣你不會佔用大量的內存空間用於該功能..當你可能不需要一直使用它
除此之外,如果你真的想重置它到一個更大的長度,而不是改變你的會話,那麼只需從查詢中刪除會話來設置它。
所以您的查詢應該是這樣的
SET SESSION group_concat_max_len = 10000000000000000; -- # -- or whatever size you need to make it
SELECT
visits,
GROUP_CONCAT(token) as token
FROM general
GROUP BY visits;
,如果你仍然得到一個錯誤@ spencer7593正確地指出..你可能需要改變你的max_allowed_packet
...你可以做到這一點從本SO POST
另外請注意,'GROUP_CONCAT'函數返回的字符串長度也受**'max_allowed_packet ** **變量限制。 – spencer7593 2014-08-30 18:42:36
downvoter謹慎解釋? – 2014-08-30 18:46:07
我得到這個錯誤'PHP解析錯誤:語法錯誤,意外的T_STRING' – EnexoOnoma 2014-08-30 18:51:50
'SET GROUP_CONCAT_MAX_LEN = 100000000000000000000000000000000000000000000'' – 2014-08-30 18:19:26
我想知道爲什麼downvoter浪費了downvote ......這是一個很好的問題。 – cybermonkey 2014-08-30 18:20:37
@MKhalidJunaid ...什麼? – cybermonkey 2014-08-30 18:24:08