gpt4 book ai didi

sql-server-2005 - SQL Server 'Recycle Bin'

转载 作者:行者123 更新时间:2023-12-05 00:06:36 26 4
gpt4 key购买 nike

我正在构建一个内容管理网站,该网站还将包括其他功能。当管理员成员通过管理面板删除项目时,我希望将此项目移至“回收站”30 天(然后自动删除)。

实现此功能的最佳方式是什么?

我的一个想法是在我的表中有一个“已删除”位列,然后只显示记录 WHERE Hide=0 .然而,这意味着每次我都必须记住把这个条件放在适当的位置 SELECT从 table 上。

我的另一个想法是有一个第二个表,记录将在删除时移动到其中。但是,我的网站中使用了许多表格,因此这意味着表格数量加倍,并且具有重复的表格结构(这可能会导致将来出现一致性问题)。

理想情况下,我希望有一个“RecycleBin”表,所有记录都移动到该表中,但这可能包含 100 列,以便能够存储来自所有不同表的数据。

如果有人有任何其他想法,将不胜感激。

谢谢。

最佳答案

我知道的大多数实现都使用 deleted列(不是 bool 值,而是时间戳,因此您可以知道它何时被删除)。是的,您需要将其添加到所有查询中,但也许您正在使用 ORM 层,因此您只需添加一次?我建议走这条路。

维基百科对其文章的当前版本和存档版本使用多个表格,但这是因为它们超出了联盟范围,并且当前版本的请求频率比旧版本高得多。

如果你想用一个 RecycleBin表,您可能需要考虑序列化行并将它们放入 value column 而不是存储所有单独的列。当然,这仅在您不需要查询已删除项目的各个列的内容时才有效,因为这将非常昂贵。

关于sql-server-2005 - SQL Server 'Recycle Bin',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3116524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com