如果一个用户读取/写入特定表行。
同时,如果其他用户来读/写该特定行。那么他将无法执行该过程。
一旦第一个用户释放该行,则只有第二个用户可以访问它。
我如何在mysql中实现它?
我可以使用 Lock & Unlock Table,但它会显式锁定整个表
是否有其他解决方案,以便可以按行锁定?
如果一个用户读取/写入特定表行。
同时,如果其他用户来读/写该特定行。那么他将无法执行该过程。
一旦第一个用户释放该行,则只有第二个用户可以访问它。
我如何在mysql中实现它?
我可以使用 Lock & Unlock Table,但它会显式锁定整个表
是否有其他解决方案,以便可以按行锁定?
MySQL MyISAM 支持table-level locking
. 更改为InnoDB
发动机row-level locking
锁定类型由数据库本身隐含。您无需执行任何操作来强制行级锁定或表级锁定。
MySQL 对 InnoDB 表使用行级锁定,以支持多个会话同时写入访问,使其适用于多用户、高并发和 OLTP 应用程序。MySQL 对 MyISAM、MEMORY 和 MERGE 表使用表级锁定,一次只允许一个会话更新这些表,使其更适合只读、多读或单用户应用程序。
它被称为内部锁定,其中锁定在 MySQL 服务器中执行