2012-06-11 64 views
0

如何將二進制數據存儲在MySQL數據庫中?如何在MySQL中存儲二進制數據

+0

請更新您的問題,以包括您想要實現的細節(或者您嘗試過的和失敗的)。一個簡單的搜索給我如何存儲和檢索數據庫中的二進制數據。 – verisimilitude

+0

請更新您的問題。沒有關於你正在嘗試做什麼或者到目前爲止做了什麼的細節。 – Namphibian

+0

爲什麼這不是重複? –

回答

1

二進制數據可以存儲在BLOB字段中的MySQL數據庫中。 A BLOB是一個二進制大對象,可以容納可變數量的數據。

6

這個問題並非如此直接的答案,因爲它聽起來:有很多不同的二進制數據使用模式,每個模式都有自己的注意事項和優點和缺點。讓我試着總結:

  • 小品的二進制數據,如密碼哈希值,經編碼的base64只需將它們和存儲生成的字符串爲VARCHAR
  • 「不,很二進制」很好地工作數據,例如偶爾不可打印的文檔snipplets可以轉義並存儲爲字符串
  • BLOB數據類型允許存儲任意的二進制數據塊,但強烈建議不要使用它:將數據存儲在文件中,然後以String類型存儲路徑到文件。您從存儲二進制數據中獲益不大,數據庫在數據庫中「不理解」。
+0

+1。爲所有闡述.. – verisimilitude

2

我建議LONGBLOB存儲在MySQL文件。這一切都取決於什麼樣的二進制和你的申請。

TINYBLOB - A BLOB column with a maximum length of 255 (28 - 1) characters. 
BLOB - A BLOB column with a maximum length of 65,535 (216 - 1) characters. 
MEDIUMBLOB - A BLOB column with a maximum length of 16,777,215 (224 - 1) characters. 
LONGBLOB - A BLOB column with a maximum length of 4,294,967,295 (232 - 1) characters. 
相關問題