实现“真删除”和“假删除”的方法(20160120)

删除的方法很简单,只要通过查到到该条数据的ID,就可以对该条数据进行操作,通过sql语句,操作数据库,就可以实现数据的删除操作。

 

但是在实际的应用当中,会出现这样的状况,当数据表是关联了多张数据表的时候,删除一条数据就会很麻烦;其次,因为真删除功能的数据是不可恢复的,所以为了保证数据的安全性和数据的可用性,考虑到假删除方式。

 

如何实现假删除呢?

首先在数据表中增加一个状态字段status,该字段默认为0,是数据的有效状态,当该状态变为1时是无效状态,当状态置1时,该条数据在前台不显示,但仍旧存在于数据库中。

 

其中的变化为,在sql语句中的变化,对应的sql语句为 update hcc_robotparam set status='1' where id=#{id},而不是用真删除的delete。

并且在查询列表中,也要加一个条件,即只有当status为0的状态的数据显示,而为一的状态不显示,这就是假删除的实现。

 

想想微信和QQ的删除功能实现,其实也是假删除状态,当用户把自己的手机中的数据删除后,自己这里不显示聊天记录了,但是在对方那里依旧显示,这就是说腾讯的后台数据库中是依旧存在这些数据的,只是显示与不显示的问题。

 

posted @ 2016-01-20 12:48  sqzuibang  阅读(3216)  评论(0编辑  收藏  举报