【问题标题】:How to insert image in MySQL?如何在 MySQL 中插入图像?
【发布时间】:2018-05-24 04:35:21
【问题描述】:

我使用了这些代码行,但在表格中显示为空

create table Picture( imageID integer primary key, image blob);
insert into Picture values(1, LOAD_FILE('D:\\flower.gif'));

select * from Picture;

请有人帮我解决这个问题。我正在使用 MySQL。你也可以给我 MySQL 和 SQL Developer 的解决方案。

【问题讨论】:

  • 您的语法看起来正确。您确定文件的路径也正确吗?当您说“显示空值”时,您是什么意思? SELECT * FROM Picture WHERE imageID = 1 向您展示了什么?
  • 是的,文件路径是正确的。它没有向我显示图片,而是在表格中显示为空。
  • 您可能需要转义反斜杠。或者改用斜线。
  • 我在 Windows 10 中。如果我逃避 blackshlashes 不会显示错误?因为这就是在 Windows 中定义路径的方式。我不知道我可能错了我尝试使用您的语法
  • MySQL服务器是否运行在同一台机器上?

标签: mysql blob


【解决方案1】:

The Fine Manual 解释:

FILE 权限允许您使用... LOAD_FILE() 函数在服务器主机上读取和写入文件。具有 FILE 权限的用户可以读取服务器主机上的任何文件,该文件可以是世界可读的,也可以由 MySQL 服务器读取。

您没有与我们分享任何 SHOW GRANT 输出。

考虑发出 GRANT FILE ON *.* TO 'X'@'Y' 命令。

此外,如果您的连接字符串引用的机器不是localhost,您将需要验证 .gif 文件在该服务器机器上是否可读,而不是在您的客户端机器上。 mysqld运行的uid是需要文件系统读取权限的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-21
    • 2013-01-16
    • 2013-01-20
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    相关资源
    最近更新 更多