将已删除的数据保留在其他表中

时间:2018-07-09 15:12:36

标签: php mysql mysqli

例如,如果我的主表是具有5列的USER,我想将SQLdatabase中已删除的数据保留在其他表中。如果用户删除了他,我想要其他表中的信息,例如具有相同颜色的Del_user。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

我可以在此处建议一个名为软删除的选项。使用软删除,您可以在USER表中添加一个位列,以跟踪记录是否已被逻辑删除。在这种方法下,删除记录并不意味着实际删除它,而只是将其标记为已删除。因此,在对USER的查询中,大多数情况下,您只会在bit列上添加一个检查以确保您正在查看活动记录。

软删除的潜在缺点是,过去和现在的所有数据都保留在一个表中。如果您希望用户非常频繁地移交记录,那么您可能会得到一个笨拙的表。但是,对于诸如用户表之类的东西来说,这可能不是什么大问题。

答案 1 :(得分:1)

您可以通过dB触发来实现

uri

参考:https://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html