2012-05-05 110 views
4

我需要插入超過10 MB大小的視頻到MySQL數據庫。怎麼做?
我嘗試下面的查詢。如何將超過10 MB的視頻存儲到MySql數據庫中?

{ 
    insert into mscit_video values(1,'bcg',LOAD_FILE('c:\\abc\\xyz.mpg') 
} 

使用此查詢我保存1個MB的視頻到數據庫成功,但如果我試圖
插入比視頻的10MB大小更是給下面的錯誤。

"java.sql.SQLException: Result of load_file() was larger than max_allowed_packet (1048576) - truncated" 

是否可以將視頻存儲在超過10 MB的數據庫中?如果是,那麼如何?
給我任何建議或提示。
Thanks in advance ..

+0

更改max_allowed_pa​​cket – zloctb

回答

4

請注意,這裏的問題不是數據庫/表/字段的容量,而是數據包的發送(從客戶端到服務器發送非常長的連接查詢時,我遇到過這個問題) 。你有你的MySQL數據庫的管理員權限嗎?您可能需要增加max allowed packet size

2

您需要指定longblob作爲電影列的數據類型。它可以存儲高達4 GB

+0

我正在使用longblob數據類型,但它不起作用。 – Dnyani

2

我個人不會將視頻存儲在數據庫中。將文件位置(元數據)存儲在要查找視頻文件的位置的數據庫中可能會更好。然後,您可以將文件存儲在文件系統或S3等分佈式文件系統中。

如果您仍然真的想要存儲在數據庫中,請嘗試使用LONGBLOB字段,該字段應該會爲您提供高達4GB的存儲空間。

+0

你能幫我關於將視頻位置(元數據)存儲在數據庫中嗎..我所有的視頻都在我的YouTube頻道上。 @scott – saikiran

+0

你必須要更具體些。對你而言,這聽起來就像將鏈接存儲到視頻一樣簡單。 – Scott

相關問題