0

有没有一种简单的方法来获取受 DBI 更新语句影响的行的 ID?在这种特殊情况下,它将始终为 0 行或 1 行。我不希望不得不再次重做查询的选择部分来获取数据,因为这有点昂贵。

我必须先进行更新,否则我会在选择和更新之间引入竞争时间条件的可能性。

4

3 回答 3

1

您可能想阅读这个相关的 SO 主题(我已链接到@Erwin Brandstetter的答案)——这是我一直处理它的方式。

于 2013-04-23T02:07:47.880 回答
0

根据您的数据库引擎,您可能拥有一个SELECT ... FOR UPDATE设施。你应该用这个来

  • SELECT ... FOR UPDATE您要更新的记录

  • 从记录中保存ID,并UPDATE使用ID而不是原始条件进行

于 2013-04-22T20:29:36.173 回答
0

关于 SELECT ... FOR UPDATE的MySQL 文档可以帮助您处理事务。

于 2013-04-22T20:25:26.793 回答