2009-09-01 121 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

相关问题