1

是否可以使用 MySQL 在给定行上获得显式、独立的锁定?

我想要的是:

  • 读取一行,并在其上获取锁;如果该行已经被锁定,则等待锁被释放
  • 进行一些处理
  • 写入行,并释放锁

我认为SELECT FOR UPDATE将是我的解决方案,但因为它需要显式事务,所以我不能执行以下操作:

  1. 读取并锁定第 1 行
  2. 读取并锁定第 2 行
  3. 做一点事...
  4. 写入和释放第 2 行
  5. 做一点事...
  6. 写入和释放第 1 行

(或颠倒第 4 步和第 6 步。)

基本上,我希望能够在任何时候显式地获取和释放任何行上的锁,而不必等待使用COMMIT. 因此,没有交易就可以做到这一点的想法。

用 MySQL 可以实现吗?

4

1 回答 1

0

使用两个事务(跨两个数据库连接);否则,使用触发器使您的记录只读

于 2013-07-12T18:10:23.777 回答