Domanda

Sto usando MySQL Workbench 5.2.30 CE CE / Rev 6790. Quando eseguire l'istruzione seguente:

SELECT OLD_PASSWORD("test")

Ho solo tornare una bella icona di BLOB, ho bisogno di sinistro del mouse per selezionare la cella, fare clic destro e scegliere "Open Value visualizzatore" e selezionare la scheda "Testo".

Con lo stesso con phpMyAdmin, ottengo direttamente indietro il valore della chiamata OLD_PASSWORD. E 'solo un esempio, ma c'è un modo per vedere direttamente tali risultati in uscita?

È stato utile?

Soluzione

In breve:

  1. Vai a Modifica > Preferenze
  2. Scegli SQL Editor
  3. In SQL Esecuzione , di controllo BINARIO Treat / VARBINARY come stringa di caratteri non binari
  4. Riavvia MySQL Workbench (che non verrà richiesto o informati di questo requisito).

In MySQL Workbench 6.0 +

  1. Vai a Modifica > Preferenze
  2. Scegli query SQL
  3. In risultati di query , di controllo BINARIO Treat / VARBINARY come stringa di caratteri non binari
  4. Non è obbligatorio riavviare MySQL Workbench (che non verrà richiesto o informati di questo requisito). *

Con questa impostazione si sarà in grado di concatenare i campi senza ottenere blob.

Credo che questo vale per le versioni 5.2.22 e più tardi ed è il risultato di questo MySQL bug .

Disclaimer: non so cosa il rovescio della medaglia di questa impostazione è - forse quando si selezionano valori BINARY / VARBINARY lo vedrete come testo semplice, che può essere fuorviante e / o forse sarà ostacolare le prestazioni se sono grandi abbastanza?

Altri suggerimenti

Eseguire tre fasi:

  1. Vai a "Preferenze Workbench" -> Scegliere "Editor SQL" sotto "Risultati query": controllo "BINARIO Treat / VARBINARY come stringa di caratteri non binari"

  2. Riavvia MySQL Workbench.

  3. Ora selezionate SELECT SUBSTRING(BLOB<COLUMN_NAME>,1,2500) FROM <Table_name>;

Non sono sicuro se questo risponde alla domanda, ma se se si fa clic destro sull'icona "blob" nel campo (quando si visualizza la tabella) v'è la possibilità di "Open Value in Editor". Una delle schede consente di visualizzare il blob. Questo è in ver. 5.2.34

Casting opere, ma è un dolore, così mi consiglia di utilizzare il metodo di spioter a meno che non si utilizza un sacco di veramente dati BLOB.

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

È possibile anche lanciato come altri tipi, e anche limitare la dimensione, ma la maggior parte del tempo ho appena utilizzare CHAR: http://dev.mysql.com/doc/refman /5.5/en/cast-functions.html#function_cast

Non sembra essere possibile temo, la sua elencato come un bug in banco di lavoro: http://bugs.mysql.com/bug.php?id=50692 Sarebbe molto utile però!

ha avuto lo stesso problema, secondo la documentazione MySQL , è possibile selezionare una sottostringa di un BLOB:

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

HTH, glissi

banco di lavoro 6.3
Segui alto punteggio risposta quindi utilizzare UNCOMPRESS()

(In breve:
 1. Vai a Modifica> Preferenze
 2. Scegliere SQL Editor
 3. In SQL Execution, controllare Treat BINARIO / VARBINARY come personaggio non binari stringa
 4. Riavviare MySQL Workbench (che non verrà richiesto o informati di questo requisito).)

Poi

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

o

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

Se hai appena messo UNCOMPRESS(<COLUMN_NAME>) è possibile fare clic destro blob e fare clic su "Open Value in Editor".

I pieced alcuni degli altri posti insieme, come fix Workbench 'preferenze' non ha funzionato per me. (WB 6.3)

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

non v'è alcune cose che si possono fare

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

Se si vuole ordine dalla query è possibile ordinare da Cast così come qui di seguito

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

come si dice sul questo blog

http://www.kdecom.com/mysql-group -concat-blob-bug-risolto /

NOTA: Le risposte precedenti qui non sono particolarmente utile se il BLOB è una sequenza arbitraria di byte; per esempio. BINARIO (16) per memorizzare 128 bit GUID o checksum MD5.

In questo caso, non v'è attualmente alcuna preferenza editore - anche se ho presentato una richiesta di funzionalità ora -. vedere che richiesta di spiegazione più dettagliata

[Fino a / a meno che tale richiesta di funzionalità è implementata], la soluzione è la funzione HEX in una query: SELECT HEX(mybinarycolumn) FROM mytable.


Un'alternativa è quella di utilizzare phpMyAdmin al posto di MySQL Workbench -. Ci esadecimale viene mostrata per default

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

Nel mio caso, Banco di lavoro non funziona. così i utilizzata la soluzione di cui sopra per mostrare i dati blob come testo.

SELECT *, CONVERT (UNCOMPRESS (colonna) con "utf8") come colonna FROM nome_tabella

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top