0

我有数据库应用程序,我想让用户从数据库中恢复已删除的记录,就像在 Windows 中我们有回收站的文件我想做同样的事情,但对于数据库记录,假设我有很多相关的表有很多领域。

编辑:

假设我有以下结构:

报告表

  • RepName 主键
  • 报告数据

用户表

  • 身份证主键
  • 姓名

用户报告表

  • RepName 主键
  • 用户 ID 主键
  • 已删除

现在,如果我将 isdeleted 字段放入 UserReports 表中,如果标记为已删除,用户将无法再次添加相同的记录,因为该记录已经存在,这将产生重复。

4

1 回答 1

2

注意:我总是使用代理主键。

添加时间戳 'deleted_at' 列。当用户删除条目时,将当前时间放在那里。让这个关键部分成为你的约束。

在每个查询中,记住只搜索在 deleted_at 字段中为空的记录。

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

于 2009-09-01T09:44:01.127 回答