如何Mysql的命令行插blob数据.. 00 是需要转义的,select出来的blob数据默认就转成了字符"梯", 因为你插入的二进制数据就是这个汉字的内码,所以屏幕上显示的当然就是汉字了,如果你想要看到二进制值,那你就要进行数值转换,将二进制值转成ASCII码显示的数值了, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 00如何转义呢?插入0xCCDD00CCDD的sql如何写?如果我用mysql的API插入,那岂非得把每个字节都拆开来判断啊? http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=16556 mysql> UPDATE tbl_name SET blob_column=LOAD_FILE("/tmp/picture") WHERE id=1;运行 LOAD_FILE 的要求:1:文件必须在服务器上,2:引用时必须用完全路径3:你必须有 FILE 权限4:读取的文件大小必须小于 max_allowed_packet 恩,先谢谢,再请帮忙分析一个我这种情况:我的blob数据不是从文件得到,是自己用uint8数组构造的,在程序中将组装sql语句,所以,我希望能象mssql一样使用如下的sql形式:update tbl_name set blob_column=0xCCDD00CCDD;如前述该语句是不成功的,改为如下语句也会被截断:update tbl_name set blob_column='CCDD\0CCDD';关键的问题是想知道sql如何写. update sql set sql = '\cc\dd\0\cc\dd'你可以使用 MySQL-Front 来查看所插入的数据 呵呵,也胡了,如果你想插入一个十六进制数0xCCDD00CCDDupdate tbl_name set blob_column=0xCCDD00CCDD;是完全可以的,如果想以update tbl_name set blob_column='CCDD\0CCDD';方式,必须使用update sql set sql = '梯\0梯'因为0xCCDD 是汉字“梯”而\0为转义 00 如果你想要把二进制数据插入到一个BLOB列,下列字符必须由转义序列表示: NUL ASCII 0。你应该用'\0'(一个反斜线和一个ASCII '0')表示它。 \ ASCII 92,反斜线。用'\\'表示。 ' ASCII 39,单引号。用“\'”表示。 " ASCII 34,双引号。用“\"”表示。 恩,我刚才是弄错了,0xCCDD00CCDD方式k可以,只是我一直未能正确读出来:(不过,在mysql的API里,读到\0已经是字符串结束标志了, 如何获得不被截断的二进制串呢? 如何恰当的显示月,日; MySql中如何查询出当前进行会话的用户名? 请高手指点!!!!!!!!!!!mysql if not exists 不让用,急急急、!!!!! 将A表某个字段拷贝到B表的一个字段怎么写? 如何把MySQL置于只读(不使用read_only变量)? 急!!一个简单修改语句 php无法使用localhost连接mysql服务器 MySQL修改属性问题 MySQL中是否有可以存储图片、MP3之类的列类型? 如何发布使用mysql作为后台数据库的软件? 请教关于Linux下MySQL数据库的连接、读取、写入的速度问题! 提问MYSQL语法
如果我用mysql的API插入,那岂非得把每个字节都拆开来判断啊?
SET blob_column=LOAD_FILE("/tmp/picture")
WHERE id=1;运行 LOAD_FILE 的要求:
1:
文件必须在服务器上,
2:
引用时必须用完全路径
3:
你必须有 FILE 权限
4:
读取的文件大小必须小于 max_allowed_packet
我的blob数据不是从文件得到,是自己用uint8数组构造的,
在程序中将组装sql语句,所以,我希望能象mssql一样使用如下的sql形式:
update tbl_name set blob_column=0xCCDD00CCDD;
如前述该语句是不成功的,改为如下语句也会被截断:
update tbl_name set blob_column='CCDD\0CCDD';
关键的问题是想知道sql如何写.
也胡了,
如果你想插入一个十六进制数0xCCDD00CCDD
update tbl_name set blob_column=0xCCDD00CCDD;
是完全可以的,如果想以
update tbl_name set blob_column='CCDD\0CCDD';
方式,
必须使用
update sql set sql = '梯\0梯'因为0xCCDD 是汉字“梯”
而\0为转义 00
NUL
ASCII 0。你应该用'\0'(一个反斜线和一个ASCII '0')表示它。
\
ASCII 92,反斜线。用'\\'表示。
'
ASCII 39,单引号。用“\'”表示。
"
ASCII 34,双引号。用“\"”表示。
只是我一直未能正确读出来:(
不过,在mysql的API里,读到\0已经是字符串结束标志了,
如何获得不被截断的二进制串呢?