开发者社区> 问答> 正文

关于数据逻辑删除的问题?

我在表中逻辑删除了一条数据,表中存在唯一索引的字段,逻辑删除后,我有要insert一条一样的数据,这样肯定不行,如何解决这个问题?

展开
收起
我的中国 2016-03-23 20:14:11 2283 0
1 条回答
写回答
取消 提交回答
  • R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者

    1.如1L所言,取消唯一约束,靠程序控制;
    2.如果是mysql的话,可以在insert语句后面加上on duplicate key update status = ?
    3.同样是mysql的情况下,也可以用replace into代替insert into;

    关于这个问题其实还有很大的思考空间,最灵活的方法是1,但同样要面临产生脏数据的风险(脏数据对程序代码的影响就不多说了,处理过的都懂的);2、3理论上只能保存最近一次逻辑删除的记录

    采用哪种方法视乎业务上对逻辑删除数据保存要求,如果要保留历史数据而又不想采用方法1的话,可以在2、3基础上实时(代码层面)或定时对逻辑删除的数据迁移至历史表。

    2019-07-17 18:35:29
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
面向失败设计 立即下载
事务、全局索引、透明分布式 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载