想知道,在mysql中图片是用什么数据类型存储的,怎么插入,比如说有个表叫type
create table type
(
t_ID int not null comment '自动赋予新类别的编号。',
t_name char(15) comment '食品类别名称。',
t_instruction national char(1),
t_image longblob comment '描绘食品类别的图片。',
primary key (t_ID)
);
这样的数据类型可以吗?还有怎么插入图片数据?
谢谢
create table type
(
t_ID int not null comment '自动赋予新类别的编号。',
t_name char(15) comment '食品类别名称。',
t_instruction national char(1),
t_image longblob comment '描绘食品类别的图片。',
primary key (t_ID)
);
这样的数据类型可以吗?还有怎么插入图片数据?
谢谢
另一种方式是,将图片进行base64编码,但会带来30%的空间开销
比如有一个文件叫yinliao.bmp
那我要把它存到数据库里面用 update type set t_image='yinliao.bmp' where t_id=1;可以吗?这个yinliao.bmp我放在mysql下的数据库文件夹下了。
望高手解惑,谢谢
1)你的文件是否存在,是否能被数据库启动用户所读取
2)你的MySQL用户是否具有FILE权限。你问问题,也不给出你的环境,让别人怎么回答?文件权限,客户端和服务器的关系等等。
关于6楼说得,我的文件就是在虚拟机上的没错.
七楼我可以很确定文件存在.我用的时mysql root登陆的,而且我也曾经导入过其他类型的数据,比如从一个txt里面读取数据到数据库的表中,所以我觉得应该具有file的权限,至于环境,我是在windows机下装了一个虚拟机,在虚拟机中装的mysql5.0,虚拟机是linux操作系统.其它的暂时还想不到,如果还要知道什么信息的话,留言,我非常想解决这个问题,在这里先谢谢大家了.
binary类型
UNIX系统里的“\”后面是用来加参数的