我有一个sql语句的问题。我正在尝试更新一个表中的内容,该表是一个带有pdf的blob字段。但它不起作用。
UPDATE employees
SET resume = LOAD_FILE('C:\Users\gaby\Desktop\sample_resume.pdf')
WHERE id = 1;
如果我使用上面的命令,结果是空的。如果我使用下面的命令,结果不是空的,有一个pdf,但它是空的。
UPDATE employees
SET resume = 'C:\Users\gaby\Desktop\sample_resume.pdf'
WHERE id = 1;
我可以用jdbc做这个更新,它工作得很好。但我也想在工作台上做。
提前谢谢!
2条答案
按热度按时间xvw2m8pv1#
检查是否给出了手册中描述的所有条件。
LOAD_FILE(file_name)
读取文件并以字符串形式返回文件内容。要使用此功能,文件必须位于服务器主机上,必须指定文件的完整路径名,并且必须具有FILE
特权。文件必须是可读的所有和它的大小小于max_allowed_packet
字节。如果secure_file_priv
如果系统变量设置为非空目录名,则要加载的文件必须位于该目录中。如果文件不存在或由于不满足上述条件之一而无法读取,则函数返回
NULL
.load_file()
退货NULL
,(至少)其中一个条件必须失败。eit6fx6z2#
我可以通过移动图像来完成(
fileName.jpg
)文件首先在下面的文件夹中(在我的情况下)C:\ProgramData\MySQL\MySQL Server 5.7\Uploads
然后我执行下面的命令,它对我有效,希望这有帮助。