60 votes

utiliser group_concat dans PHPMYADMIN affichera le résultat sous la forme [BLOB - 3B]

J'ai une requête qui utilise le GROUP_CONCAT de mysql sur un champ entier.
J'utilise PHPMYADMIN pour développer cette requête. Mon problème est qu'au lieu de montrer 1,2 qui est le résultat du champ concaténé, je reçois [BLOB - 3B].

La requête est

 SELECT rec_id,GROUP_CONCAT(user_id)
FROM t1
GROUP BY rec_id
 

(les deux champs sont unsigned int, les deux ne sont pas uniques)

Que dois-je ajouter pour voir les résultats réels?

89voto

munch Points 5183

On dirait que GROUP_CONCAT s'attend à ce que cette valeur soit une chaîne. Je viens de rencontrer le même problème. Résolu en convertissant la colonne int en une chaîne comme celle-ci:

 SELECT rec_id,GROUP_CONCAT(CONVERT(user_id, CHAR(8)))
FROM t1
GROUP BY rec_id
 

Je pensais partager si vous aviez toujours un problème avec ça.

46voto

scy Points 2009

Selon la documentation MySQL , CAST(expr AS type) est du SQL standard et devrait donc être utilisé. En outre, vous pouvez omettre la longueur de la chaîne. Par conséquent, je suggérerais ce qui suit:

 SELECT rec_id, GROUP_CONCAT(CAST(user_id AS CHAR))
FROM t1
GROUP BY rec_id
 

23voto

Janne Points 739

Pour moi, cela a aidé (trouvé dans ce blog ):

Dans mon cas, le paramètre GROUP_CONCAT était une chaîne, mais la fonction entraînait toujours un BLOB, mais la conversion du résultat de GROUP_CONCAT fonctionnait.

 CONVERT(GROUP_CONCAT(user_id) USING 'utf8')
 

21voto

Itay Moav -Malimovka Points 17977

Juste au-dessus du résultat de la requête (à gauche), vous verrez +options . Appuyez dessus et marquez

Afficher le contenu du BLOB

-1voto

cwd Points 8723

Si vous avez accès à l' config.inc.php le fichier dans le répertoire de phpMyAdmin, puis Je pense que la meilleure solution est de changer cette ligne:

$cfg['Servers'][$i]['extension'] = 'mysql';

pour cela:

$cfg['Servers'][$i]['extension'] = 'mysqli';

Si vous avez l'extension mysqli disponible, utilisez-le. Il est plus sûr, un peu plus optimisé, et il gère le type BLOB de l'utf-8 mieux par défaut. Votre [BLOB] les inscriptions devraient commencer en montrant que leurs valeurs sans avoir à ajouter d'autres options de configuration.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X