Perl - DBI - MySQL - 更新后获取行ID的简便方法?

时间:2013-04-22 20:09:50

标签: mysql perl dbi

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

我必须先做更新,否则我会介绍选择和更新之间竞争条件的可能性。

3 个答案:

答案 0 :(得分:1)

您可能希望阅读此related SO topic(我已通过@Erwin Brandstetter链接到答案) - 这是我一直处理它的方式。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

根据您的数据库引擎,您可能拥有SELECT ... FOR UPDATE工具。你应该用它来

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

  • 保存记录中的ID,并使用UPDATE代替原始条件执行ID