MYSQL CONCAT最大长度

饼干

在这篇文章之后:发布关于CONCAT我的问题是我有很多行CONCAT成一行。例如,如果我有10行,字符串约50个字符,我的查询将只显示6-7行或类似的内容。我在堆栈和Google中进行了搜索,发现可以通过以下命令更改CONCAT的最大长度:SET group_concat_max_len := @@max_allowed_packet我做错了什么?

编辑:当我SHOW VARIABLES LIKE 'group_concat_max_len'向我显示1024。MySQL版本5.0.96-log。表类型:MyISAM。看起来它没有任何限制,我尝试选择具有2000个字符的简单varchar,而且看起来还不错。我有3个表:第一个-具有ItemID的项目,第二个-具有ItemID和DescriptionID的Descriptionpack,第三个具有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:我认为我发现了问题,我向提供者说了我的问题,他们回答了这个问题:

我与我们的托管团队一起审查了您的问题。您将无法更改该变量和其他变量的全局设置。但是,您应该能够在每个会话的基础上设置该变量,方法是先设置该变量,然后再进行其他查询。希望能有所帮助。

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

琼斯

大概您正在使用GROUP_CONCAT(),并非简单CONCAT()

的默认值为group_concat_max_len1024,如果要建立大的长串联,则这是一个很小的限制。

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

 SET SESSION group_concat_max_len = 100000;

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

group_concat_max_len本身实际上具有无限的大小它仅受平台的无符号字长限制:在32位平台上为2 ^ 32-1,在64位平台上为2 ^ 64-1。

如果这还不足以满足您的应用程序,那么该是接受@eggyal的建议并重新考虑您的方法的时候了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MYSQL CONCAT最大长度

来自分类Dev

Mysql语法-Concat和字段的限制长度

来自分类Dev

MySQL:选择字符串的Concat和结果Concat的长度

来自分类Dev

MySQL最大字符长度存储

来自分类Dev

MySQL最大字符长度存储

来自分类Dev

MySQL PDO在提取时最大LONGBLOB数据长度

来自分类Dev

如何在MySQL中配置列名的最大长度?

来自分类Dev

MySQL Prepare语句-最大长度1000个字符

来自分类Dev

MySQL:如何找到某些值的不间断序列的最大长度?

来自分类Dev

如何在MySQL中配置列名的最大长度?

来自分类Dev

MySQL PDO在获取时的最大LONGBLOB数据长度

来自分类Dev

基于其他列的 mySQL group_concat 最大日期

来自分类Dev

为什么要限制MySQL中GROUP_CONCAT结果的长度?

来自分类Dev

在concat mysql中的concat

来自分类Dev

Mysql :: Error:指定的密钥太长;最大密钥长度为767个字节:CREATE INDEX

来自分类Dev

mysql jdbc适用于超过用户名的最大长度(16个字符)

来自分类Dev

获取表名、列名、数据类型和字符最大长度 mySQL

来自分类Dev

MySQL中group_concat_max_len的最大限额是多少?

来自分类Dev

如何从group_concat MySQL的结果中获取最大值

来自分类Dev

如何从group_concat MySQL的结果中获取最大值

来自分类Dev

MySQL选择varchar长度

来自分类Dev

MySQL更改密钥长度

来自分类Dev

mysql何时?然后 ?与CONCAT

来自分类Dev

MYSQL加入CONCAT

来自分类Dev

Laravel查询MySQL Concat

来自分类Dev

mysql程序CONCAT错误

来自分类Dev

WHERE 之后的 mysql CONCAT?

来自分类Dev

mysql concat 列名

来自分类Dev

指定的密钥太长;实体框架6中的最大密钥长度为767个字节Mysql错误