我想将图像插入到像
这样的表中 CREATE TABLE XX_SAMPLE(ID INT
,IMAGE BLOB);
那么你可以帮忙形成如何将图像插入上表。
答案 0 :(得分:28)
请尝试以下代码
INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('E:/Images/jack.jpg'));
答案 1 :(得分:8)
您应该像LOAD_FILE那样使用:
LOAD_FILE('/some/path/image.png')
答案 2 :(得分:2)
你可以尝试这样的事情......
CREATE TABLE 'sample'.'picture' (
'idpicture' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
'caption' VARCHAR(45) NOT NULL,
'img' LONGBLOB NOT NULL,
PRIMARY KEY('idpicture')) TYPE = InnoDB;
或参考以下链接获取可能对您有帮助的教程和示例。
http://forums.mysql.com/read.php?20,17671,27914
http://mrarrowhead.com/index.php?page=store_images_mysql_php.php
http://www.hockinson.com/programmer-web-designer-denver-co-usa.php?s=47
答案 3 :(得分:2)
我对这个问题有三个答案:
在字符串中使用BLOB和CLOB数据类型并从SQL数据库中检索二进制数据是违反用户体验 UX最佳做法的,因此建议您使用涉及存储的技术图像的URL(或数据库中的任何二进制文件)。此URL将帮助用户应用程序检索和使用此二进制文件。
其次,BLOB和CLOB数据类型仅适用于多个SQL版本,因此在某些版本中,LOAD_FILE等函数或数据类型本身可能会遗漏。
第三次使用BLOB或CLOB。存储URL;让用户应用程序从项目目录中的文件夹中访问二进制文件。
答案 4 :(得分:1)
答案 5 :(得分:0)
如果我使用以下查询,
INSERT INTO xx_BLOB(ID,IMAGE)
VALUES(1,LOAD_FILE('E:/Images/xxx.png'));
错误:没有这样的功能:LOAD_FILE
答案 6 :(得分:0)
我尝试了所有上述解决方案,但均失败了,它只是向数据库添加了一个空文件。
但是,我可以先将image(fileName.jpg
)文件移到文件夹中(以我的情况为例,C:\ProgramData\MySQL\MySQL Server 5.7\Uploads
),然后在命令下面执行,它对我有用,
INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg'));
希望这会有所帮助。
答案 7 :(得分:-1)
这是在mysql工作台上-提供图像文件路径:
INSERT INTO XX_SAMPLE(id,image) VALUES(3,'/home/ganesan-pc/Documents/aios_database/confe.jpg');