MySQL - 从服务器抓取blob文件

时间:2014-12-09 16:12:14

标签: mysql blob

我想从给定文件位置的SQL数据库中获取文件的二进制数据。

根据http://www.mssqltips.com/sqlservertip/1643/using-openrowset-to-read-large-files-into-sql-server/,对于T-SQL,我可以使用OPENROWSET和BULK从本地磁盘上的文件位置获取一大块二进制数据。我测试了这个,它确实适用于Microsoft SQL Server。

但是,是否存在MySQL的等效查询? BULK特定于T-SQL,并在MySQL中给出了语法错误。

如果我知道文件路径,我甚至可以从MySQL服务器获取文件的二进制数据吗?

2 个答案:

答案 0 :(得分:0)

MySQL的大对象支持不能以这种方式工作。您需要使用SELECT查询检索BLOB的内容。您的数据将到达您的行集。

如果你的BLOB特别大,你需要处理max_allowed_packet

答案 1 :(得分:0)

该提示解释了如何使用纯T-SQL将文件插入blob(即,不使用诸如PHP之类的帮助语言)。 MySQL等价物将是LOAD_FILE() function。手册中的例子:

UPDATE t
SET blob_col=LOAD_FILE('/tmp/picture')
WHERE id=1;