2013-05-15 63 views
0

我正在開發一個多用戶應用程序在同一網絡上使用MySQL & Java。 我正在尋找的是: 用戶A:修改記錄100 用戶B:嘗試查看或修改同一個記錄100防止用戶編輯相同的記錄

我希望應用程序返回錯誤信息給用戶B,則該記錄已經被編輯另一個用戶。

我怎樣才能做到這一點?

+0

閱讀有關Java線程..你想要什麼叫一個互斥體的記錄對象 –

+0

上同步:https://www.google.com/搜索?q = mutex – DeadlyJesus

回答

2

包括一個edit_timestamp在您希望阻止多個用戶更新的數據庫表中,每次有人編輯行時都會更新。

在您的表單中,包含一個隱藏字段edit_timestamp,並將值存儲在您正在編輯的行中。

當您收到編輯表單時,請檢查您正在編輯的行的edit_timestamp是否未更改。如果它發生了變化,某人編輯了該行並向用戶拋出了錯誤。如果沒有改變,更新的行和edit_timestamp

+0

我會添加保留一個edited_by字段來存儲最後編輯的用戶的用戶名,以及一個重要的業務審計表來存儲多個編輯。記錄ID,用戶ID,日期,更改的內容,新舊值等 – tgkprog

相關問題