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

时间:2019-07-16 03:36:25

标签: 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');

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

1 个答案:

答案 0 :(得分:1)

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特权?