gpt4 book ai didi

MYSQL 连接最大长度

转载 作者:IT王子 更新时间:2023-10-29 00:30:32 25 4
gpt4 key购买 nike

关注这篇文章:POST ABOUT CONCAT我的问题是我在一行中有很多行 CONCAT 。例如,如果我有 10 行包含大约 50 个字符的字符串,我的查询将只显示其中的 6-7 行或类似的内容。我在堆栈和谷歌中搜索,我发现我可以通过命令更改 CONCAT 最大长度:SET group_concat_max_len := @@max_allowed_pa​​cket。我做错了什么?

编辑:当我 SHOW VARIABLES LIKE 'group_concat_max_len' 时,它会显示 1024。Mysql 版本 5.0.96-日志。表类型:MyISAM。看起来它没有任何限制,我尝试选择带有 2000 个字符的简单 varchar,它看起来不错。我有 3 个表:第一个 - 带有 ItemID 的项目,第二个 - 带有 ItemID 和 DescriptionID 的描述包,第三个带有 DescriptionID 的描述。

Select
DISTINCT Item.ItemID as item
,GROUP_CONCAT(Description.DescriptionID) AS description
From Item
LEFT OUTER JOIN descriptionpack
on Item.ItemID=descriptionpack.ItemID
LEFT OUTER JOIN description
on descriptionpack.descriptionID=description.descriptionID
GROUP BY item

EDIT2:我想我找到了问题,我向我的提供者说了我的问题,他们回答我这个:

I reviewed your question with our hosting team. You wouldn't be able to change the global settings for that and other variables. However, you should be able to set that variable on a per session basis by setting it first, before other queries. Hope that helps.

所以现在的问题是,如何做到这一点。

最佳答案

推测您正在使用 GROUP_CONCAT(),而不是简单的 CONCAT()

group_concat_max_len 的默认值是 1024,如果您要建立大的长连接,这是一个非常小的限制。

要更改它,请使用此命令。我已将此示例中的长度设置为 100,000。您可以将其设置为您需要的任何内容。

 SET SESSION group_concat_max_len = 100000;

max_allowed_pa​​cket 的通常值为 1 兆字节,这可能超出您的需要。

group_concat_max_len itself has an effectively unlimited size .它仅受平台的无符号字长限制:32 位平台上为 2^32-1,64 位平台上为 2^64-1。

如果这对您的应用程序来说仍然不够,是时候采纳@eggyal 的建议并重新考虑您的方法了。

关于MYSQL 连接最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com