2012-02-08 156 views
0

我使用mySQL InnoDB表。 用php腳本進行Mysql數據庫查詢。 當用戶在特定表格中選擇一條記錄時,我想鎖定這個記錄,並且只允許其他用戶的讀取過程。 所以我嘗試使用MySQL InnoDB鎖定行

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

所以我的問題是,當用戶B儘量選擇相同的記錄如何知道該記錄被鎖定,當用戶A嘗試更新記錄如何授權此操作。

感謝您的幫助

回答

2

InnoDB的行鎖僅用於交易過程中臨時使用(例如,當你想暫時托起別人誰是想看看或修改的行)。如果您想允許應用程序的用戶「鎖定」記錄,行鎖定不適合此目的。相反,在應用程序級別執行此操作:在表中創建一列以表示您的哪些用戶已鎖定記錄。