MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3498|回复: 3
打印 上一主题 下一主题

我用load_file()插入blob对象的文件时的问题一例

[复制链接]
跳转到指定楼层
1#
发表于 2007-11-30 17:37:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
通过标准的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, 下载次数: 242)

送给美女给大家养养眼

送给美女给大家养养眼
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
2#
发表于 2007-11-30 18:00:59 | 只看该作者
探索精神可嘉,文档具有指导意思,赞
3#
发表于 2008-4-10 11:02:50 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-9-20 07:55 , Processed in 0.062156 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表