我有这张桌子:
CREATE TABLE img (id varchar(29) ,imgFile mediumblob, PRIMARY KEY (id));
我尝试使用图形插件从phpmyadmin放置一张图片并进行此查询:
INSERT INTO img(id, imgFile) VALUES('first', 0xe212d.......8f);
到这里工作得很好,但我想用路径放置文件;为此,我使用此查询:
INSERT INTO img (id,imgFile) VALUES('1221', LOAD_FILE('/home/myname/img.jpg'));
但它给了我这个错误:#1048 - 列'imgFile'不能为空。
在mySql文档上说问题是由文件的权限引起的,但我不明白如何将它们提供给文件
我正在使用UBUNTU linux
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_load-file http://dev.mysql.com/doc/refman/5.0/en/privileges-provided.html#priv_file
答案 0 :(得分:0)
必须符合http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_load-file列出的所有条件。使用SHOW GRANTS的输出
SHOW GRANTS
查看FILE
权限。使用SHOW VARIABLES
SHOW VARIABLES
获取max_allowed_package和secure_file_priv的值。
使用默认值,您的图像文件可能具有最大1 MB的MySQL,直到5.6.5。不要忘记,您的文件必须是所有人都可读的。