MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 5620|回复: 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, 下载次数: 113)

送给美女给大家养养眼

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

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-5-13 13:42 , Processed in 0.073942 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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