2012-11-29 116 views
25

我一直髮現MySQL Workbench顯示查詢結果爲BLOB。 e.g: SELECT INET_NTOA(167773449) - >BLOBMySQL Workbench顯示結果爲BLOB

如果我選擇「視圖值」我能確定的文本值是'10 .0.5.9' 但是當我選擇多行,並希望在內容一目瞭然這是相當刺激性。

有沒有辦法解決這個問題,還是工具的侷限性?

回答

46

背景: 當結果中返回二進制字符串值(BINARY/VARBINARY類型)時,會出現此問題。二進制字符串包含零字節,出於某種原因,顯然是安全的,默認情況下未顯示。有關二進制字符串here的更多詳細信息。

即使在已報告的示例SELECT INET_NTOA(167773449)中,函數也會返回二進制字符串。請參閱this以供參考。

解決方案: 由於MySQL Workbench v5.2.22,它可以通過首選項設置是否顯示或隱藏這些值。

  1. 在MySQL工作臺,請訪問:「編輯 - >首選項 - >SQL查詢 OR 「編輯 - >首選項 - >SQL編輯器(視在什麼版本的Workbench上)。
  2. 選中「將BINARY/VARBINARY作爲非二進制字符串」選項以顯示實際值。

參考: 原來的問題已被報告與修復here回答。

+2

在工作臺6.2,該設置是在'編輯 - >首選項 - > SQL編輯器 - > SQL Execution' –

+0

某處在6.2範圍內有一個迴歸:此不再有效。 –

4

你可以做的是把你的BLOB類型轉換爲一個字符串。這將簡單地讓您在瀏覽選擇語句時瀏覽BLOB類型中的內容。

SELECT CAST('blob_column' AS CHAR(10000) CHARACTER SET utf8) FROM 'DB_table'; 
+2

工作臺錯誤的優秀解決方法! – TrogDor