mySQL - 使用mysqli应用行级锁定

Mar*_*ark 3 php mysql innodb locking

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

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

谢谢

lon*_*eck 8

如果要从编辑中锁定特定行,请FOR UPDATE在SELECT查询结束时使用.这会锁定事务中的行并阻止其他用户更新它.这只适用于像innodb这样的事务存储引擎.

在回答你的问题时,是的,行级锁定"阻止任何人编辑符合你标准的当前存在的行".更具体地说,如果(在事务内)你INSERT,UPDATE或DELETE一行,那么该行将被其他人锁定,直到你的COMMIT你的事务为止.如果你使用FOR UPDATEthen来选择一行,那么也会锁定该行.

但是,这并不"阻止用户插入符合您条件的行".