从MySQL Workbench更新BLOB

时间:2018-05-28 10:55:00

标签: mysql sql sql-update workbench

我有一个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进行此更新,它完美无缺。但我也希望从工作台上做到这一点。

提前致谢!

2 个答案:

答案 0 :(得分:0)

我能够通过将图像(fileName.jpg)文件首先移到以下文件夹(以我的情况为例)C:\ProgramData\MySQL\MySQL Server 5.7\Uploads中,然后在命令下方执行,它对我有用, / p>

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

希望这会有所帮助。

答案 1 :(得分:-1)

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

  

LOAD_FILE(file_name)

     

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

     

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

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