请问大大们数据库假删除,,怎么实现好?

2014 年 7 月 9 日
 coke
每个表建立一个remove字段,但是需要每个查询都查remove=0,,好麻烦啊,还有其他方案吗?
7043 次点击
所在节点    程序员
10 条回复
ipconfiger
2014 年 7 月 9 日
insert到一个镜像的删除表里
lu18887
2014 年 7 月 9 日
分表存储,定时移走。
aggron
2014 年 7 月 9 日
Create view xxx
as
select .... where remove=0
然后读视图了
dorentus
2014 年 7 月 9 日
查询不都是程序生成的么,怎么会烦。。

或者你可以建立一个语义相反的字段如叫 undeleted,默认 1,删除的时候 update 成 0...
bravluna
2014 年 7 月 9 日
可以新建一个 trigger,把删除的行移到新表中。
victor
2014 年 7 月 9 日
创建一个字段叫 deleted_at 所有删除的记录,这个字段都是删除时候的时间。
查找记录的时候,只检索这个字段为NULL的记录集。
wangyongbo
2014 年 7 月 10 日
如果还提供恢复功能,可以在原表添加一个字段,表明是否已经被删除。

如果不需要恢复功能,删除的数据弄到另外一个表保存。
hanwujibaby
2014 年 7 月 10 日
@ipconfiger 这个能详细说说吗?没太看明白
zhanglp888
2014 年 7 月 10 日
新建一个视图(create view),视图里都是remove=0的行,
查询时直接查询此视图
xuanjianfeng
2014 年 7 月 11 日
多个标记位查询,也不算麻烦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/121786

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX