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, 下载次数: 243)

送给美女给大家养养眼

送给美女给大家养养眼

作者: kider    时间: 2007-11-30 18:00
探索精神可嘉,文档具有指导意思,赞
作者: mysqlkumao    时间: 2008-4-10 11:02





欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2