1

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

同时,如果其他用户来读/写该特定行。那么他将无法执行该过程。

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

我如何在mysql中实现它?

我可以使用 Lock & Unlock Table,但它会显式锁定整个表

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

4

1 回答 1

1

MySQL MyISAM 支持table-level locking. 更改为InnoDB 发动机row-level locking

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

MySQL 对 InnoDB 表使用行级锁定,以支持多个会话同时写入访问,使其适用于多用户、高并发和 OLTP 应用程序。MySQL 对 MyISAM、MEMORY 和 MERGE 表使用表级锁定,一次只允许一个会话更新这些表,使其更适合只读、多读或单用户应用程序。

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

有关如何锁定一行以供读取的更多信息

于 2013-04-24T07:06:42.067 回答