Wie kann ich direkt Blobs in MySQL Workbench
-
30-09-2019 - |
Frage
Ich bin mit MySQL Workbench CE 5.2.30 CE / Rev 6790. Wenn die folgende Anweisung:
SELECT OLD_PASSWORD("test")
ich wieder nur ein schönes BLOB
Symbol, muss ich nach links auf die Zelle der rechten Maustaste auswählen und „Open Value in viewer“ und wählen Sie die Registerkarte „Text“ wählen.
Unter Verwendung des gleichen mit phpMyAdmin, bekomme ich den Wert des OLD_PASSWORD
Anruf direkt zurück. Es ist nur ein Beispiel, aber ist es eine Möglichkeit, direkt solche Ergebnisse in der Ausgabe sehen?
Lösung
Kurz gesagt:
- Gehen Sie auf Bearbeiten > Einstellungen
- Wählen Sie SQL Editor
- Unter SQL Execution , Check Treat BINARY / VARBINARY als nicht-binäre Zeichenfolge
- Starten Sie MySQL Workbench (Sie werden nicht von dieser Anforderung aufgefordert oder informiert werden).
In MySQL Workbench 6.0 +
- Gehen Sie auf Bearbeiten > Einstellungen
- Wählen Sie SQL-Abfragen
- Unter Abfrageergebnisse , Check Treat BINARY / VARBINARY als nicht-binäre Zeichenfolge
- Es ist nicht zwingend notwendig MySQL Workbench neu zu starten (Sie werden nicht von dieser Anforderung aufgefordert oder informiert werden). *
Mit dieser Einstellung werden Sie zu verketten Felder der Lage sein, ohne Flecken zu bekommen.
Ich denke, das gilt für Versionen 5.2.22 und höher und ist das Ergebnis der diese MySQL Bug .
Disclaimer: Ich weiß nicht, was der Nachteil dieser Einstellung ist - vielleicht, wenn Sie BINARY
/ VARBINARY
Werte der Auswahl werden Sie es als Klartext sehen, die irreführend sein können und / oder vielleicht wird es die Leistung beeinträchtigen, wenn sie groß sind, genug?
Andere Tipps
Führen Sie in drei Schritten:
-
Gehen Sie auf "Workbench Einstellungen" -> Wählen Sie "SQL Editor" unter "Abfrageergebnisse": check "Treat BINARY / VARBINARY als nicht-binäre Zeichenkette"
-
Starten Sie MySQL Workbench.
-
Wählen Sie nun
SELECT SUBSTRING(BLOB<COLUMN_NAME>,1,2500) FROM <Table_name>;
Ich bin mir nicht sicher, ob dies die Frage beantwortet, aber wenn, wenn Sie einen Rechtsklick auf das „Blob“ -Symbol auf dem Feld (wenn die Tabelle sehen), gibt es eine Option „Open Value in Editor“. Einer der Registerkarten können Sie die blob anzuzeigen. Dies ist in ver. 5.2.34
Arbeiten Gießen, aber es ist ein Schmerz, so würde ich mit spioter Methode empfehlen, es sei denn Sie eine Menge wirklich Blob-Daten verwenden.
SELECT CAST(OLD_PASSWORD("test") AS CHAR)
Sie können auch andere Arten gegossen und sogar die Größe beschränken, aber die meiste Zeit verwende ich nur CHAR: http://dev.mysql.com/doc/refman /5.5/en/cast-functions.html#function_cast
Scheint nicht möglich zu sein, ich habe Angst, sein als Bug in Werkbank aufgeführt: http://bugs.mysql.com/bug.php?id=50692 Es wäre sehr nützlich, aber!
hatte das gleiche Problem, nach der MySQL-Dokumentation Sie eine Substring eines BLOB auswählen können:
SELECT id, SUBSTRING(comment,1,2000) FROM t
HTH, glissi
Arbeitstisch 6.3
Follow Wertungs Antwort dann verwenden UNCOMPRESS()
(Kurz:
1. Gehen Sie auf Bearbeiten> Einstellungen
Wählen Sie SQL Editor
2.
3. Geben Sie unter SQL-Ausführung, überprüfen Treat BINARY / VARBINARY als nicht-binäre Zeichenkette
4. Starten Sie MySQL Workbench (Sie werden nicht von dieser Anforderung aufgefordert oder informiert werden).)
Dann
SELECT SUBSTRING(UNCOMPRESS(<COLUMN_NAME>),1,2500) FROM <Table_name>;
oder
SELECT CAST(UNCOMPRESS(<COLUMN_NAME>) AS CHAR) FROM <Table_name>;
Wenn Sie nur UNCOMPRESS(<COLUMN_NAME>)
stellen können Sie mit der rechten Klecks klicken und klicken Sie auf "Open Value in Editor".
pieced ich ein paar der anderen Beiträgen zusammen, als die Werkbank ‚Präferenzen‘ fix für mich nicht funktioniert hat. (WB 6.3)
SELECT CAST(`column` AS CHAR(10000) CHARACTER SET utf8) FROM `table`;
gibt es einige Dinge, die Sie tun können,
SELECT GROUP_CONCAT(CAST(name AS CHAR))
FROM product
WHERE id IN (12345,12346,12347)
Wenn Sie von der Abfrage gewünschte Reihenfolge durch Gieß auch wie unter
bestellenSELECT GROUP_CONCAT(name ORDER BY name))
FROM product
WHERE id IN (12345,12346,12347)
wie es heißt in diesem Blog
Hinweis: Die bisherigen Antworten hier nicht besonders nützlich, wenn die BLOB eine beliebige Folge von Bytes ist; z.B. Binary (16) zum Speichern von 128-Bit-GUID oder MD5-Prüfsumme.
In diesem Fall gibt es derzeit keine Präferenz Editor - obwohl ich vorgelegt ein Feature-Anfrage jetzt -. sieht, dass die Anfrage für nähere Erläuterung
[Bis / es sei denn, dass Feature-Request implementiert], ist die Lösung HEX
Funktion in einer Abfrage: SELECT HEX(mybinarycolumn) FROM mytable
.
Eine Alternative zur Verwendung ist phpMyAdmin anstelle von MySQL Workbench -. Es hex standardmäßig angezeigt wird,
select CONVERT((column_name) USING utf8) FROM table;
In meinem Fall ist Workbench nicht. so habe ich die obige Lösung Blob-Daten als Text zu zeigen.
SELECT *, CONVERT (UNCOMPRESS (Spalte) mit "UTF-8") AS Spalte FROM table_name