使用 PHP 的 mysqli 如何应用行级锁?
行级锁会阻止任何人编辑当前符合您条件的行吗?但是他们会阻止用户插入符合您标准的行吗?
谢谢
最佳答案
如果要锁定特定行以防止编辑,请在 SELECT 查询的末尾使用 FOR UPDATE
。这会锁定您事务中的行并防止其他用户更新它。这仅适用于 innodb 等事务存储引擎。
在回答您的问题时,是的,行级锁定“阻止任何人编辑当前符合您条件的行”。更具体地说,如果(在事务中)您插入、更新或删除一行,则该行将被其他任何人锁定,直到您提交您的事务。如果您使用 FOR UPDATE
选择一行,那么也会锁定该行。
但是,这不会“阻止用户插入符合您条件的行”。
关于php - mySQL - 使用 mysqli 应用行级锁,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1729457/