mysql_stmt_send_long_data 能支持update语句吗?

LandSnow 2013-10-10 12:19:08
sprintf(sql,"update DATE1 set Photo=? and Size=%d where UserID='%s'",iSize,AccountID);
MYSQL_STMT* smtt = NULL;

MYSQL_BIND bind[1];
unsigned long length;
memset(bind, 0, sizeof(bind));
bind[0].buffer_type= MYSQL_TYPE_LONG_BLOB;
bind[0].length= &length;
bind[0].is_null= 0;
smtt = mysqlcon.ExecInsert(sql,smtt,bind,1);
if(smtt)
{
if (!mysql_stmt_send_long_data(smtt,0,M_Request,iSize))
{
mysql_stmt_execute(smtt);
return true;
}
}

这里的LONGBLOB所带的参数?执行结果不成功,而网上大多都是告诉你
#define INSERT_QUERY "INSERT INTO bintest(id, data) VALUES(4, ?)"
新增这样的操作。那么更新怎么办?需要把原数据delete?再插入?这样效率降低了把!
那么二进制数据如何执行更新呢?
...全文
140 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
iihero 2013-10-11
  • 打赏
  • 举报
回复
update也是可以的,这个函数只不过是发送blob的chunk值而已。 帖出你完整的代码看看。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧