2

有什么办法可以省略mysql select语句中的一些记录而不是删除它们?例如,我们可以轻松地添加一列deleted并将已删除的列设置为 1 并保留它们,但问题是我们必须放入where deleted = 1所有查询。将一些记录保存为档案的最佳方式是什么?

4

1 回答 1

2

我不知道您有多少表以及要存储多少数据,但一个解决方案可能是这个:

  • 您为要保留虚拟删除数据的每个表 (tblName) 创建一个 tblName_HIST 表
  • 可选:添加 DELETED_DATE 列以跟踪记录被删除的日期。
  • 您在 tblName 表上添加一个触发器,即AFTER DELETE语句INSERT tblName_HIST 表中的记录。

这将允许您保留从现在开始创建的查询和数据库表,而无需对其进行太多修改。

于 2013-02-24T13:30:15.760 回答