微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – GROUP_CONCAT允许的最大长度?怎么通过呢?

MysqL中,我使用GROUP_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_pa​​cket …你可以从这个SO POST做到这一点

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐