mysql关系数据库,实现删除记录是用逻辑删除还是物理删除?

比如,订单和商品的关系;
订单正常来说,应该会将商品的(名字、价格等等)字段另外保存;
如果我需要删除商品记录,使用物理删除也不会影响订单的信息;
但是这样会出现其他问题吗?

阅读 11.3k
3 个回答

以前SF上有类似的问题回复,我专门摘录了内容,核心原则是从业务上考虑,真的是删除操作吗?
http://xingaiming.com/2015/12...

大部分情况下,我们需要的仅仅是一个状态,如商品删除,大部分情况下可能是下架不再出售而已。

最好不要用物理删除老商品。如果使用物理删除,之前的老订单的关联的老商品记录就会出错。并且,使用物理删除后,以后也没法做数据统计等。最好加一个status字段,来逻辑删除。

用逻辑删除。
物理删除后如果以后误删了,或者需要有恢复功能或者统计什么的,你就GG了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题