我們應用程序中的用戶參與論壇並創建各種實體。在架構中,將這些表中的引用標記爲外鍵引用。我們無法從數據庫中刪除此用戶條目,因爲它有幾個可以刪除的外鍵約束。如何處理用戶刪除
解決的一種方法是將其他表中的用戶字段設爲可爲空,以便在刪除用戶條目之前將這些值標記爲可爲空。從其他表格中刪除信息根本不是一個選項,因爲它會導致不一致(例如,刪除屬於用戶的論壇帖子會導致問題)。
另一種選擇是將用戶條目標記爲可移除,並且不會將其作爲用戶查詢的一部分提供。這在理論上意味着沒有用戶可以從系統中刪除,並且如果有人想要使用與刪除的用戶相似的登錄ID,則可能會出現問題。
想知道,別人怎麼解決這個問題?
+1總是軟刪除用戶。此外,通常在審計目的中,用戶名被存儲,而不是用戶ID FK,以防萬一昏迷的管理員復活非活動用戶並將該ID重新分配給新的職員。 – StuartLC 2010-08-27 09:45:02
我通常將刪除列設置爲true,只要用戶被刪除並且可行查詢只選擇已刪除= false的用戶 – KoolKabin 2010-08-27 09:47:31