问题:
我正在构建一个google checkout回调界面。我遇到的问题是,Google会同时向网站发送2个响应,并且网站会同时处理这两个响应,因此我最终得到了2个更新。编写代码以检查条目是否存在,以及是否根据需要不插入或更新。
时间戳将是相同的,它将发布2个交易。我在Innodb有数据库,但是我把它改成了MyISAM,希望能解决这个问题。
问题:
是否可以选择SQL查询然后更新条件。或者我还能做些什么来解决这个问题?
答案 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个....