mysql - 将 blob 数据类型值插入 mysql 表时出现错误

标签 mysql sql blob

我正在尝试将数据输入到 mysql 表 Fruitbox 中。但是在输入数据时出现错误Fruitpdf 不能为空。我创建的水果盒表如下:

Fruitname(varchar(100), Fruitpdf(blob), Fruitprice(int)

Fruitpdf 列包含水果的 pdf 文件。我的桌面文件 mango.pdf 大小为 190 KB。

我编写了以下查询,但在执行 sql 语句时出现错误“Fruitpdf不能为空”。

INSERT INTO Fruitbox (Fruitname, Fruitpdf, Fruitprice) VALUES ('Mango', LOAD_FILE('C:\Users\Tom\Desktop\mango.pdf'), '100');

我哪里错了?任何帮助深表感谢。谢谢你

最佳答案

MySQL 将字符串中的反斜杠视为转义字符。您需要使用双反斜杠:

LOAD_FILE('C:\\Users\\Tom\\Desktop\\mango.pdf')

参见https://dev.mysql.com/doc/refman/8.0/en/string-literals.html

编辑: 如果仍然不起作用:

  • 该文件位于 MySQL 服务器上吗?
  • “secure_file_priv”变量是否已设置? (显示变量,例如 'secure_file_priv';)如果是这样,您需要将该文件放在 该目录。
  • 您的用户是否拥有 FILE 权限?

关于mysql - 将 blob 数据类型值插入 mysql 表时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57049661/

相关文章:

mysql - 如何防止 CASE WHEN x THE(子查询)中出现依赖子查询

php - Doctrine:不能为子查询分配别名

mysql - 从多个 mysql 主机连接表

javascript - 如何在 img 标签 src 中使用 blob URL?

javascript - Blob 到 base64 ReactJs

mysql - 如果存在于表 2 中或存在于表 3 或表 4 中,则选择列

MySQL 使用例程输出连接表

php - MySQL : "How to store row from one table(link) to multiple(cateogry) tables."

mysql - 选择从插入到

sql - 存储视频文件的 SQL 中的 BLOB