2012-02-08 106 views
0

我使用mySQL InnoDB表。 用php脚本进行Mysql数据库查询。 当用户在特定表格中选择一条记录时,我想锁定这个记录,并且只允许其他用户的读取过程。 所以我尝试使用MySQL InnoDB锁定行

SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE; 

所以我的问题是,当用户B尽量选择相同的记录如何知道该记录被锁定,当用户A尝试更新记录如何授权此操作。

感谢您的帮助

回答

2

InnoDB的行锁仅用于交易过程中临时使用(例如,当你想暂时托起别人谁是想看看或修改的行)。如果您想允许应用程序的用户“锁定”记录,行锁定不适合此目的。相反,在应用程序级别执行此操作:在表中创建一列以表示您的哪些用户已锁定记录。