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

问题描述 投票:3回答:2

问题:

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

时间戳将相同,并且将发布2笔交易。我在Innodb拥有数据库,但是我将其更改为MyISAM,希望它可以解决问题。

问题:

是否可以选择一个SQL查询,然后根据条件进行更新。还是我可以做些其他事情来解决这个问题?

mysql google-checkout
2个回答
3
投票

您只能使用EXIST来执行您的select返回结果的更新

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

0
投票

[我认为您需要弄清楚“ Google同时发送2条回复”的意思。

我假设您是指Google Checkout API-如果是,则Google发送的每个notification都代表“某物”。您必须确定Notification是什么-换句话说,您可能会“解决”一个不存在的问题,而这是根据您对Google发送的邮件的了解(而不是注意到它们,每个Notification ,是不同的)。

Hth ....

© www.soinside.com 2019 - 2024. All rights reserved.