如何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 存储过程中 游标嵌套IF判断 mysql 时间求和问题 MYSQL中如何进行表的处理 把它改成需要的表的结构 如何将EXCEL中的数据如何导入到MySQL中,能否提供一个方法 postgresql8.24是否支持事物嵌套 在mysql里增加一列,列的值为行号 (在线等待)请问怎么将一个文本导入到MYSQL里,谢谢!急! 怎样反向dump 请问MYSQL支持ADO,RDO,ADO吗? 紧急求助:我的服务器掉电了,重新启动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已经是字符串结束标志了,
如何获得不被截断的二进制串呢?