替代数据库中的DELETE记录?

Sha*_*ind 2 sql database-design sql-delete

有人告诉我,我们从不删除表中的记录,因为将来需要它.并且我可以知道除了DELETE之外还有什么替代方法可以停止行而不是从表中完全删除行?

Tar*_*ryn 9

您可以bit在表格中添加一个列 - 称之为IsActive或者IsDeleted

INSERT数据时,请确保数据标记的值正确:

New record - IsActive = true
           - IsDeleted = false
Run Code Online (Sandbox Code Playgroud)

然后,当您要使记录不可用时,您将以UPDATE相反的方式标记记录:

Update - IsActive = false
       - IsDeleted = true
Run Code Online (Sandbox Code Playgroud)

运行查询时,您将根据此标志过滤数据.我们在整个系统中实现这种类型的软删除,它可以隐藏记录.