insert MySQL数据丢失的问题。(libmysql API)
有这么一个奇怪的问题,我使用C + libmysql.dll连接mysql服务器。
执行了一个语句
insert into ...
on duplicate update ...
这个语句执行完了以后,libmysql API返回执行成功了。
但是,数据并没有写到MySQL数据库中。
注:由于我insert into的是一段二进制数据,所以上述语句中实际也包含了stmt。
有人碰到过这个问题吗??
执行了一个语句
insert into ...
on duplicate update ...
这个语句执行完了以后,libmysql API返回执行成功了。
但是,数据并没有写到MySQL数据库中。
注:由于我insert into的是一段二进制数据,所以上述语句中实际也包含了stmt。
有人碰到过这个问题吗??
作者: madmanahong 发布时间: 2011-05-12
代码 是什么?有重复记录?
作者: wwwwb 发布时间: 2011-05-12
代码是C代码,根据LOG来看,执行
insert into ...
on duplicate key update ...
API返回的是2,表示确实更新了。
但是不知道为什么就是没写进去?
难道延迟写了?当时成功了,结果延迟后失败了
但是文档说了,不能delay啊
insert into ...
on duplicate key update ...
API返回的是2,表示确实更新了。
但是不知道为什么就是没写进去?
难道延迟写了?当时成功了,结果延迟后失败了
但是文档说了,不能delay啊
作者: madmanahong 发布时间: 2011-05-12
最后调用的API是
mysql_stmt_execute
我看了mysql文档,如果没有结果集的话,mysql_stmt_execute直接返回OK状态。
真的是有可能该处理被延迟执行了,结果执行失败了????
mysql_stmt_execute
我看了mysql文档,如果没有结果集的话,mysql_stmt_execute直接返回OK状态。
真的是有可能该处理被延迟执行了,结果执行失败了????
作者: madmanahong 发布时间: 2011-05-12
直接在客户端执行看有什么报错
作者: rucypli 发布时间: 2011-05-12
没有报错,确实没有,而且99%情况下都是好的。
只有那1%,从日志看也是好的。。。。。
只有那1%,从日志看也是好的。。。。。
作者: madmanahong 发布时间: 2011-05-12