【发布时间】:2012-07-15 04:08:16
【问题描述】:
无论引擎如何(例如 InnoDB 或 MyISAM),这个“比较和交换”语句是否总是原子的? :
UPDATE tbl_name SET locked=1 WHERE id=ID AND locked <> 1;
我问这个是因为我打算使用这个语句来做伪行级锁定,它与事务和非事务数据库表兼容。
这是recommended for MyISAM 的方法,但我不确定这是否适用于 InnoDB,因为文档建议改用事务。
【问题讨论】:
-
链接已损坏。因此,这个孤立的陈述的使用是不清楚的。
标签: mysql innodb atomic myisam compare-and-swap