锁定;解锁mysql中的表行(Inno Db)

时间:2013-04-24 07:02:26

标签: php mysql zend-framework

如果一个用户读/写特定的表行。

同时,如果其他用户来读取/写入该特定行。然后他将无法完成这个过程。

第一个用户释放该行后,只有第二个用户可以访问它。

我如何在mysql中实现它?

我可以使用Lock&解锁表,但它会明确锁定整个表

是否有其他解决方案,以便可以进行行方式锁定?

1 个答案:

答案 0 :(得分:1)

MySQL MyISAM支持table-level locking。更改为InnoDB

row-level locking引擎

数据库本身隐含了锁定类型。您无需执行任何操作来强制行级锁定或表级锁定。

  

MySQL使用InnoDB表的行级锁定来同时支持   通过多个会话写入访问权限,使其适合   多用户,高度并发和OLTP应用程序。 MySQL使用   允许使用MyISAM,MEMORY和MERGE表的表级锁定   只有一个会话一次更新这些表,使它们更多   适用于只读,大多数读取或单用户应用程序。

它被称为Internal Locking,其中锁定在MySQL服务器中执行

有关 how to lock a row for read

的更多信息