目前后台有一个删除用户的功能,但是由于功能模块很多,需要清理用户在多张表下的记录。
//清除该用户的所有发布的文章以及文章关联的标签
//清除该用户的所有关注的标签
//清除该用户的所有问题
//清除该用户的所有回答
//清除该用户的所有积分
//清除该用户的所有评论
//清除该用户的所有收藏
//清除该用户的所有问题关注
//清除该用户的所有私信
//清除该用户的所有消息通知
//清除该用户的所有草稿
//清除赠送给用户的所有邀请码
//清除该用户所有的邀请回答
//清除该用户的好友关系
//清空用户统计表
//清除用户的报名记录
....
大家一般如何处理,是确实清除这些相关信息么。还是对删除的用户信息进行保留,只是用标识不做查询??
首先,如上面各位所说,尽量不要删除重要数据。
其次,如果你确实需要实现主表删除,从表自动删除的功能。只需要在数据库里添加外键,并设置为ON DELETE CASCADE。
这种外键在删除主表数据时,会自动删除从表中执行被删除数据的记录。只要外键设计的好。主表删除一条数据,一堆从表跟着删得尸横片野……