mysql逻辑删除的问题_【mysql】关于数据逻辑删除的问题?

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

回答

1.如1L所言,取消唯一约束,靠程序控制;

2.如果是mysql的话,可以在insert语句后面加上on duplicate key update status = ?

3.同样是mysql的情况下,也可以用replace into代替insert into;

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

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

以上是本人知道的方法,如果还有更好的方法,希望不吝赐教。

最简单的办法就是取消唯一索引, 用程序来控制保证该字段唯一。

数据完全一样(注意是完全一样,修改时间之类的也一样)的话,你恢复删除就好了啊

如果数据不完全一样,要么换个id再插入一遍,要么加一列做修改历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值