2009-09-01 120 views
0

我有數據庫應用程序,我想允許用戶從數據庫中恢復已刪除的記錄,就像在Windows中我們有回收站的文件我想做同樣的事情,但對於數據庫記錄,假設我有很多有很多領域的相關表格。如何讓數據庫應用程序的回收站?

編輯:

讓我們說,我有以下結構:

報告表

  • RepName主鍵
  • ReportData

個用戶表

  • ID主鍵
  • 名稱

UserReports表

  • RepName主鍵
  • 用戶ID主鍵
  • 請將isDeleted

現在如果我在UserReports表中放置了isdeleted字段,如果用戶標記爲已刪除,則用戶不能再次添加相同的記錄,因爲記錄已經存在,這會重複。

回答

2

注:我總是使用代理主鍵。

添加時間戳'deleted_at'列。當用戶刪除當前時間的條目。使這個關鍵部分的約束。

在每個查詢中,請記住只搜索在deleted_at字段中爲空的記錄。

一些框架(如ActiveRecord)使它變得微不足道。

+0

我想到了這一點,這會對我放在桌子上的約束條件造成很多問題。 添加更多信息後,再次看我的問題.. – 2009-09-01 09:57:53

+0

好的,使用時間戳列然後:) – 2009-09-01 10:32:04

相關問題