2012-05-05 76 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

相关问题