0

Je récupère les données avec la fonction MySQL appelée "GROUP_CONCAT()".Alternative à la fonction GROUP_CONCAT de MySQL

Mais lorsque j'ai vérifié le résultat de la colonne "fonction GROUP_CONCAT()", il manquait certaines données.

Quand je google l'enregistrement manquant problème avec la fonction « GROUP_CONCAT() », dans le site de MySQL officiel, ils ont mentionné que,

Il y a une variable globale appelée group_concat_max_len et permettra la longueur de résultat maximum en octets pour la fonction GROUP_CONCAT(), la valeur par défaut de celui-ci en tant que 1024.

par conséquent, il semble que je dois augmenter cette valeur avec la commande suivante MySQL,

SET GLOBAL group_concat_max_len = 1000000;

Par conséquent, définissez cette valeur de façon permanente, je dois éditer le fichier de configuration associé au serveur MySQL (my.cnf ou my.ini) et redémarrer le serveur.

Mais malheureusement, je n'ai pas la permission de le faire.

Par conséquent pouvez-vous s'il vous plaît m'aider à trouver une solution alternative pour résoudre ce problème.

Merci beaucoup.

Répondre

2

Utilisation SET SESSION à la place:

SET SESSION group_concat_max_len = 1000000; 

Contrairement SET GLOBAL, SET SESSION ne nécessite pas super privilège.

Reference

+0

Puis-je savoir si « group_concat_max_len » liées à la valeur nouvellement créée se réinitialisé à sa valeur par défaut (1024), si certains comment MySQL Server volonté se relancer à l'avenir? – Channa

+1

'SET SESSION' durerait pour votre session en cours. Si vous voulez le définir à long terme, vous devez contacter quelqu'un avec les droits d'administrateur pour le définir pour vous en utilisant SET GLOBAL. –