我正在尝试将图像插入MySQL数据库,但是我一直收到此错误; 错误代码: 1048。
“图像”列不能为空。这是我正在使用的代码。
create table test_img (
id int(10) not null AUTO_INCREMENT PRIMARY KEY,
name varchar(25) not null default '',
image blob not null
)
INSERT INTO test_img(ID,IMAGE) VALUES(1,LOAD_FILE ('C:\\human_centered_design_infographic.jpg'));
答案 0 :(得分:0)
来自MySQL manual:
LOAD_FILE(文件名)
读取文件并以字符串形式返回文件内容。要使用此功能,文件必须位于服务器主机上,必须指定文件的完整路径名,并且必须具有FILE特权。该文件必须全部可读,并且其大小小于max_allowed_packet字节。如果将secure_file_priv系统变量设置为非空目录名称,则要加载的文件必须位于该目录中。
如果文件不存在或由于不满足前述条件之一而无法读取,则该函数返回NULL。
您可能会收到NULL错误,因为上述条件之一是适用的。
不是所有人都可读,或者服务器未启用文件特权或文件大于max_allowed_packet
字节。