2012-07-11 90 views
0

有沒有辦法可以讓誰鎖定當前行? 我的ERP需要檢查記錄是否被其他用戶更新鎖定。 我使用MySQL(Percona)服務器& Java SE作爲最終客戶端應用程序。正在鎖定行的Mysql?

+0

http://dba.stackexchange.com/questions/14257/how-can-i-find-who-holds-the-lock-based-on-the-hex-dumped – 2012-07-11 11:56:46

+0

你是否用LOCK鎖定表TABLES'?如果是,爲什麼你甚至想這樣做?通過您的應用程序控制訪問級別,而不是通過MySQL。通常,所有應用程序都使用一個MySQL用戶連接,即使您可以獲得誰發出鎖定,它也不會告訴您**是誰,它會告訴您執行該操作的會話。這應該是應用程序控制的,而不是MySQL控制的。 – 2012-07-11 11:57:45

+0

好的答案,我正在使用行鎖定條件而不是表鎖定,任何我鎖定的方式,我正在使用java,是否有代碼示例以獲取會話呢? – Motasem 2012-07-11 12:10:32

回答

0

使用選擇更新,鎖定

SELECT FIELD_NAME FROM TABLE_NAME FOR UPDATE;

+0

我需要向其他客戶端返回一條直接消息,表明此記錄已被其他用戶鎖定。 – Motasem 2012-07-11 11:47:20

+0

我認爲你不需要做任何事情,當其他用戶更新記錄時,鎖定消息是自動回覆用戶。 – 9ine 2012-07-11 17:50:52