从MySQL Workbench更新BLOB

问题描述 投票:3回答:2

我有一个SQL语句的问题。我正在尝试更新表格中的内容,这是一个带有pdf的Blob字段。它不起作用。

UPDATE employees 
SET resume = LOAD_FILE('C:\Users\gaby\Desktop\sample_resume.pdf') 
WHERE id = 1;

如果我使用上面的命令,结果为null。如果我使用下面的命令结果不为null,则有一个pdf但它是空的。

UPDATE employees 
SET resume = 'C:\Users\gaby\Desktop\sample_resume.pdf'
WHERE id = 1;

我可以使用JDBC进行此更新,它完美无缺。但我也希望从工作台上做到这一点。

提前致谢!

mysql sql sql-update workbench
2个回答
0
投票

我能够通过将图像(fileName.jpg)文件首先移动到下面的文件夹(在我的情况下)C:\ProgramData\MySQL\MySQL Server 5.7\Uploads来完成它,然后我在命令下面执行它对我有效,

update employees set file=LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg') where id = 1; 

希望这可以帮助。


-1
投票

检查是否给出了manual中描述的所有条件。

LOAD_FILE(file_name)

读取文件并以字符串形式返回文件内容。要使用此功能,文件必须位于服务器主机上,您必须指定文件的完整路径名,并且您必须具有FILE权限。该文件必须是所有人都可读的,其大小小于max_allowed_packet字节。如果secure_file_priv系统变量设置为非空目录名,则要加载的文件必须位于该目录中。

如果文件不存在或由于不满足上述条件之一而无法读取,则该函数返回NULL

load_file()返回NULL,(至少)其中一个条件必须失败。

© www.soinside.com 2019 - 2024. All rights reserved.