在MySQL中锁定特定记录
我将实施一个记录锁定机制,如下所示:在MySQL中锁定特定记录,mysql,locking,nonblocking,Mysql,Locking,Nonblocking,我将实施一个记录锁定机制,如下所示: Table1: Field: "ID" (AutoIncrement, Primary) Field: "Name" (Text) Field: "More fields..." Table2: Field: "ID" (Unique) 为了锁定表1中的特定记录,我将在表2中创建一个具有相同ID的记录。如果由于该记录已存在而导致创建失败,则该记录必须由另一个进程锁定,我将继续。如果成功,我就拥有锁,可以修改记录。完成后,我
Table1:
Field: "ID" (AutoIncrement, Primary)
Field: "Name" (Text)
Field: "More fields..."
Table2:
Field: "ID" (Unique)
为了锁定表1中的特定记录,我将在表2中创建一个具有相同ID的记录。如果由于该记录已存在而导致创建失败,则该记录必须由另一个进程锁定,我将继续。如果成功,我就拥有锁,可以修改记录。完成后,我将删除表2中的锁记录
我的问题是,这是否是实现每记录锁定的有效方法,如果不是,是否存在这样的情况
干杯,
Charlie。您可以使用基于行的锁定,或者甚至不用对另一个表进行锁定,
(而是让mysql来处理竞争条件)mysql的聪明人已经为您做了这件事——它被称为innodb事务引擎