Nei*_*gan 7 mysql database-design delete
您在数据库中实现软删除的方法是什么?
理想情况下,该解决方案将允许
谢谢!
我可以想到几种方法来做到这一点:
您可以有一个“已删除”指示符,当记录被删除时,该指示符设置为“Y”。很简单,但它会将已删除和活动的数据保留在同一个表中,如果有大量活动,这可能会导致性能问题。恢复记录就像更改指标一样简单。
您可以有一个表来反映要从中删除的表的结构,当您从主表中删除一条记录时,将该记录插入到“deleted_data”表中。这允许您将已删除的数据移动到单独的表中,从而为主表提供更好的潜在性能,但是搜索任一表中的数据可能会使事情变得更加复杂,并且保持数据结构同步(当它们更改时)也有点还有更多的工作要做。在这种情况下,恢复数据将涉及从“已删除”表中删除记录并将其插入回主表中。
在这两种情况下,您可能想要查找任何子记录并将它们标记为已删除。我想你可以用触发器或代码来做到这一点。
归档时间: |
|
查看次数: |
6426 次 |
最近记录: |