MySQL InnoDB锁定行

时间:2012-02-08 20:22:17

标签: mysql innodb

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

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

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

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

InnoDB行锁仅用于在事务期间临时使用(例如,当您想暂时阻止其他任何试图查看或修改行的人时)。如果要允许应用程序的用户“锁定”记录,则行锁定不适用于此目的。相反,在应用程序级别执行此操作:在表格中创建一个列,以表示您的哪些用户已锁定记录。