Maison  >  Article  >  base de données  >  Comment modifier la limite de longueur de la fonction group_conca dans MySQL

Comment modifier la limite de longueur de la fonction group_conca dans MySQL

不言
不言original
2018-08-22 09:53:222206parcourir

Le contenu de cet article explique comment modifier la limite de longueur de la fonction group_conca dans MySQL. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Dans MySQL, il existe une fonction appelée "group_concat". Vous ne trouverez peut-être pas le problème en utilisation normale. Lors du traitement du Big Data, vous constaterez que le contenu a été intercepté. en fait, MYSQL a un contrôle interne sur cela. La longueur non définie par défaut est de 1024. Si nous avons besoin qu'elle soit plus grande, nous devons la modifier manuellement

Les détails sont les suivants :

Après avoir utilisé group_concat, si vous l'utilisez dans la limite de sélection, cela n'a aucun effet

Lorsque vous utilisez group_concat pour connecter des champs, il y a une limite de longueur, pas le nombre de champs connectés. Mais vous pouvez le configurer.

À l'aide de la variable système group_concat_max_len, vous pouvez définir la longueur maximale autorisée.

Le séparateur par défaut du système est la virgule

Méthode de modification :


SET [SESSION | GLOBAL] group_concat_max_len = 10240
Les paramètres pouvant être modifiés sont les suivants

GROUP_CONCAT modifie la valeur de un certain champ par Les caractères spécifiés sont accumulés. Le séparateur par défaut du système est la virgule et la longueur des caractères pouvant être accumulés est de 1024 octets.

1. Prenons d'abord un exemple simple


select group_concat(f_a) from t_one group by f_b;
Effectuez une requête de groupe par f_b et accumulez f_a dans chaque groupe.


2. Modifier le séparateur par défaut


select group_concat(f_a  separator  '_') from t_one group by f_b;
séparateur est un mot clé, suivi du caractère à séparer


3. Trier


select group_concat(f_a order by f_a  separator  '_') from t_one group by f_b;
4. Modifier la taille des caractères par défaut

1) Ajouter

 group_concat_max_len = 102400 #你要的最大长度
au fichier de configuration MySQL 2) Cela peut être plus simple, exécutez l'instruction, vous pouvez définir la portée

 SET GLOBAL group_concat_max_len=102400;
 SET SESSION group_concat_max_len=102400;
5. Utiliser avec concat

group_concat renvoie un gros objet BLOB par défaut Vous pouvez utiliser concat pour renvoyer une chaîne, et vous pouvez également ajouter du contenu. dans le contenu renvoyé. Ajoutez d’autres données.

Recommandations associées :

Utilisation de count() dans les grandes tables mysql et optimisation de count() dans mysql

Illimité dans mysql Implémentation de code extrêmement classifié

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn