MySQL的四种BLOB类型
类型 大小(单位:字节)
TinyBlob 最大 255B
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G
使用mysql_real_query而不是mysql_query,并且二进制数据要做转义
有两种方法:
方法一
1、通过mysql_real_escape_string把二进制数据转义。
2、构造sql语句,把转义后的二进制数据当成字符串写入。
3、 mysql_real_query执行sql语句。
方法二
用 mysql_stmt_send_long_data()来向blob字段写入2进制数据流。
注意点:需要注意的是bind结构的buffer_type字段,必须与要输入的数据类型相符,
如:只写入一个long 数据,则用MYSQL_TYPE_LONG,写入字符流,用MYSQL_TYPE_STRING,
写入2进制数据流,用MYSQL_TYPE_BLOB。
1.用现有的数据替换
select blobdata into @strblob from table where id='user1';
update table set blobdata=@strblob where id='user2';