Question

J'utilise MySQL Workbench CE 5.2.30 CE / Rev 6790. Lorsque exécutez l'instruction suivante:

SELECT OLD_PASSWORD("test")

Je ne reçois que de retour une belle icône BLOB, je dois clic gauche pour sélectionner la cellule, un clic droit et choisissez l'onglet « Open Value dans la visionneuse » et sélectionnez le « texte ».

En utilisant la même chose avec phpMyAdmin, je reçois directement la valeur de retour de l'appel OLD_PASSWORD. Il est juste un exemple, mais est-il possible de voir directement les résultats dans la sortie?

Était-ce utile?

La solution

En bref:

  1. Aller à Modifier > Préférences
  2. Sélectionnez Editeur SQL
  3. Sous exécution SQL , chèque Traiter BINARY / VARBINARY en tant que chaîne de caractères non binaire
  4. Redémarrez MySQL Workbench (vous ne serez pas invité ou informé de cette exigence).

Dans MySQL Workbench 6.0 +

  1. Aller à Modifier > Préférences
  2. Choisissez Requêtes SQL
  3. Dans Résultats de la requête , chèque Traiter BINARY / VARBINARY en tant que chaîne de caractères non binaire
  4. Il est pas obligatoire de redémarrer MySQL Workbench (vous ne serez pas invité ou informé de cette exigence). *

Avec ce paramètre, vous pourrez champs concaténer sans se blobs.

Je pense que cela s'applique aux versions 5.2.22 et versions ultérieures et est le résultat de ce MySQL bug .

Disclaimer: Je ne sais pas ce que l'inconvénient de ce paramètre est - peut-être lorsque vous sélectionnez les valeurs BINARY / VARBINARY vous verrez comme le texte brut qui peut être trompeur et / ou peut-être il nuire à la performance si elles sont grandes assez?

Autres conseils

Effectuer trois étapes:

  1. Aller à "Préférences WorkBench" -> Choisissez "Editeur SQL" Sous la rubrique "Résultats de la requête": Cochez la case "Traiter BINARY / VARBINARY comme chaîne de caractères" non binaire

  2. Redémarrer MySQL WorkBench.

  3. Maintenant, sélectionnez SELECT SUBSTRING(BLOB<COLUMN_NAME>,1,2500) FROM <Table_name>;

Je ne sais pas si cela répond à la question, mais si si vous cliquez droit sur l'icône « blob » dans le champ (lors de l'affichage de la table), il y a une option « Open Value dans l'éditeur ». L'un des onglets vous permet d'afficher le blob. Ceci est en ver. 5.2.34

Castings travaux, mais il est une douleur, donc je vous conseille d'utiliser la méthode de spioter sauf si vous utilisez beaucoup de données vraiment blob.

SELECT CAST(OLD_PASSWORD("test") AS CHAR)

Vous pouvez aussi jeter que d'autres types, et même limiter la taille, mais la plupart du temps, j'utiliser simplement CHAR: http://dev.mysql.com/doc/refman /5.5/en/cast-functions.html#function_cast

ne semble pas être possible, j'ai peur, son répertorié comme un bogue dans l'établi: http://bugs.mysql.com/bug.php?id=50692 Il serait très utile si!

eu le même problème, selon la documentation de MySQL , vous pouvez sélectionner une sous-chaîne d'un blob:

SELECT id, SUBSTRING(comment,1,2000) FROM t

HTH, glissi

Banc de travail 6.3
Suivez la réponse de haute puis utilisez UNCOMPRESS()

(En bref:
 1. Allez dans Edition> Préférences
 2. Choisissez éditeur SQL
 3. Sous exécution SQL, vérifiez Traiter BINARY / VARBINARY comme chaîne de caractères
non binaire  4. Redémarrez MySQL Workbench (vous ne serez pas invité ou informé de cette exigence).)

Ensuite

SELECT SUBSTRING(UNCOMPRESS(<COLUMN_NAME>),1,2500) FROM <Table_name>;

ou

SELECT CAST(UNCOMPRESS(<COLUMN_NAME>) AS CHAR) FROM <Table_name>;

Si vous venez de mettre UNCOMPRESS(<COLUMN_NAME>) vous pouvez faire un clic droit blob et cliquez sur « Open Value dans l'éditeur ».

Je reconstitué quelques-unes des autres postes en même temps, en tant que solution 'préférences de la table de travail n'a pas fonctionné pour moi. (WB 6,3)

SELECT CAST(`column` AS CHAR(10000) CHARACTER SET utf8) FROM `table`;

il y a peu de choses que vous pouvez faire

SELECT GROUP_CONCAT(CAST(name AS CHAR))
FROM product
WHERE  id   IN (12345,12346,12347)

Si vous souhaitez commander par la requête que vous pouvez commander en fonte et comme ci-dessous

SELECT GROUP_CONCAT(name ORDER BY name))
FROM product
WHERE id   IN (12345,12346,12347)

comme il est dit sur ce blog

http://www.kdecom.com/mysql-group -concat-blob-bug-résolu /

NOTE: Les réponses précédentes ici ne sont pas particulièrement utiles si le blob est une séquence arbitraire d'octets; par exemple. BINARY (16) pour stocker GUID 128 bits ou somme de contrôle MD5.

Dans ce cas, il n'y a actuellement aucune préférence éditeur - mais je soumis une demande de fonctionnalité maintenant. - voir cette demande d'explication plus détaillée

[Jusqu'à / à moins que cette demande de fonctionnalité est mise en œuvre], la solution est fonction HEX dans une requête: SELECT HEX(mybinarycolumn) FROM mytable.


Une alternative consiste à utiliser phpMyAdmin au lieu de MySQL Workbench -. Il hex est affiché par défaut

select CONVERT((column_name) USING utf8) FROM table;

Dans mon cas, Workbench ne fonctionne pas. donc je l'ai utilisé la solution ci-dessus pour afficher les données blob sous forme de texte.

SELECT * CONVERT (UNCOMPRESS (colonne) en utilisant "utf8") AS colonne à partir de table_name

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top