使用 PHP 的 mysqli 如何应用行级锁?

行级锁会阻止任何人编辑当前符合您条件的行吗?但是他们会阻止用户插入符合您标准的行吗?

谢谢

最佳答案

如果要锁定特定行以防止编辑,请在 SELECT 查询的末尾使用 FOR UPDATE。这会锁定您事务中的行并防止其他用户更新它。这仅适用于 innodb 等事务存储引擎。

在回答您的问题时,是的,行级锁定“阻止任何人编辑当前符合您条件的行”。更具体地说,如果(在事务中)您插入、更新或删除一行,则该行将被其他任何人锁定,直到您提交您的事务。如果您使用 FOR UPDATE 选择一行,那么也会锁定该行。

但是,这不会“阻止用户插入符合您条件的行”。

关于php - mySQL - 使用 mysqli 应用行级锁,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1729457/

10-11 11:16