我正在尝试将数据输入到 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/