MYSQL:选择然后更新。双重处理问题

时间:2012-09-25 23:08:42

标签: mysql mysqli google-checkout

问题:

我正在构建一个google checkout回调界面。我遇到的问题是,Google会同时向网站发送2个响应,并且网站会同时处理这两个响应,因此我最终得到了2个更新。编写代码以检查条目是否存在,以及是否根据需要不插入或更新。

时间戳将是相同的,它将发布2个交易。我在Innodb有数据库,但是我把它改成了MyISAM,希望能解决这个问题。

问题:

是否可以选择SQL查询然后更新条件。或者我还能做些什么来解决这个问题?

2 个答案:

答案 0 :(得分:3)

您可以使用EXIST仅执行select返回结果的更新

 UPDATE TABLE1 SET col=`value` 
 where exists (select 1 from TABLE2 where condition)

答案 1 :(得分:0)

我认为您需要澄清“Google同时发送2条回复”的含义。

我假设您指的是Google Checkout API - 如果是这样,Google发送的每个通知代表“某事”。你必须确定Notification是什么 - 换句话说,你可能“修复”一个不存在的问题,并根据你对Google发送的内容的看法(而不是注意到它们,每个{ {1}},是不同的。)

H个....