MariaDB社区
标题:
我用load_file()插入blob对象的文件时的问题一例
[打印本页]
作者:
boxman
时间:
2007-11-30 17:37
标题:
我用load_file()插入blob对象的文件时的问题一例
通过标准的mysql客户端执行的。。。。。
使用mysql以帐号root 登陆
mysql> show create table test_blob;
+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_blob | CREATE TABLE `test_blob` (
`id` int(11) NOT NULL auto_increment,
`a_blob` blob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |
+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set
mysql>
insert into test_blob (a_blob) values(load_file("/home/demoin.png"));
ERROR 1048 : Column 'a_blob' cannot be null
为啥文件没有载入啊。。。。按说我用的root。。。应该有所有权限的
下面检查文件权限:
-------------------
[root@localhost home]# pwd
/home
[root@localhost home]# ll
-rwxrwxrwx 1 root root 10027 2006-04-05 demoin.png
------------------------------------
查不出来了,停滞不前。
没办法,搞了一个更简单的例子:
mysql> show create table foo;
+-------+-----------------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------------+
| foo | CREATE TABLE `foo` (
`line` blob
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-------+-----------------------------------------------------------------------+
1 row in set
执行却成功了
mysql>
insert into foo values(load_file("/home/demoin.png"));
Query OK, 1 row affected
成功了吧。。。。。。
问题在哪里?
怀疑是null的问题,改变表结构
mysql> alter table test_blob change a_blob a_blob blob null;
Query OK, 3 rows affected
Records: 3 Duplicates: 0 Warnings: 0
mysql> insert into test_blob(a_blob) values(load_file('/home/demoin.png'));
Query OK, 1 row affected
mysql> select * from test_blob;
+----+-------------------------------+
| id | a_blob |
+----+-------------------------------+
| 1 | //www//gd-2.0.35//demoin.png |
| 2 | /home/demoin.png |
| 3 | load_file('/home/demoin.png') |
| 4 | NULL |
+----+-------------------------------+
4 rows in set
o(∩_∩)o...哈哈
原来console不显示二进制的内容,以为是空,所以误报了一个错误。
111.jpg
(41.42 KB, 下载次数: 344)
下载附件
保存到相册
2007-11-30 17:47 上传
送给美女给大家养养眼
作者:
kider
时间:
2007-11-30 18:00
探索精神可嘉,文档具有指导意思,赞
作者:
mysqlkumao
时间:
2008-4-10 11:02
欢迎光临 MariaDB社区 (http://123.56.88.72/)
Powered by Discuz! X3.2