【问题标题】:MySQL - Grabbing blob file from serverMySQL - 从服务器抓取 blob 文件
【发布时间】:2014-12-10 00:22:23
【问题描述】:

我想从给定文件位置的 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 服务器获取文件的二进制数据?

【问题讨论】:

    标签: mysql blob


    【解决方案1】:

    该技巧解释了如何使用纯 T-SQL 将文件插入到 blob 中(即,不使用诸如 PHP 之类的辅助语言)。 MySQL 的等效项是LOAD_FILE() function。手册中的示例:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-01-04
        • 2016-01-01
        • 2018-08-14
        • 1970-01-01
        • 2017-11-05
        • 2016-01-28
        • 1970-01-01
        相关资源
        最近更新 更多