簡體   English   中英

允許多個用戶更新同一條記錄

[英]Allow multiple users to update same record

我有一種情況,即數據庫表中有一條記錄,即“ abcde”。 用戶“ X”,“ Y”和“ Z”嘗試同時更新該記錄。

'X'將abcde修改為abcdd

'Y'將abcde修改為abddd

'Z'將abcde修改為abeee

所有更改應保留在數據庫表中。

是否有可能請提供解決方案。

如果要保留所有更改,則將至少需要一個數據庫表來跟蹤所有這些更改...一個日志/歷史記錄表。 問題是,您要如何處理並發? 如果您不關心它,而只希望將最后一個修改保留在此單個記錄表中,那么您無需采取任何其他措施,只有“記錄”功能可以跟蹤所有更改。 但是,如果您確實關心並發並希望以不同的方式來處理它,那么您應該考慮以最適合您的需求的隔離級別來運行事務。

如要只記錄並發情況的更新記錄。 在表中有一列DateTime,當您顯示記錄時要跟蹤datetime。 所以這是用例。

第一個用戶更新了記錄->也通過更改DateTime列值來更新原始記錄。

當第二用戶嘗試更新時,您發現datetime已更改,這意味着它不再是Update,它將是inset語句。

第三個用戶的情況類似於2。

現在您將剩下數據庫中的所有三個記錄。在這種情況下,請記住主鍵也需要增加一些列,否則會引發錯誤。

您可以使用Trigger並將記錄保存在每個操作的另一個表中。 捕獲數據更改(CDC)也會在您遇到的情況下起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM