注销用户的标准操作应该是?

注销一个用户,我的设想

A: 数据表里面关联该用户的数据都删除,但是如果和别人有互动的数据也删除了会出问题,就算不删除,关联该用户的信息也没有了

B:不删除数据,只是标记为注销,但是,和该用户互动的用户怎么显示这个人的信息,比如说互评?

C:只标记注册的手机号或邮箱号,让他可以再注册,但是,互动的用户哪里应该怎么表示?,而且这堆相关了数据貌似也没用了

大家是怎么处理这个问题的?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
巴啦啦
最佳答案

1.用户表仅保留id,其他数据改为已注销,比如昵称。这样就保留了和其他模块的关联关系 2.相关联的数据,比如聊天记录,或相互留言等,均改为该账号已注销。

1年前 评论
臭鼬 (楼主) 1年前
邢闯洋 1年前
巴啦啦 (作者) 1年前
讨论数量: 17
巴啦啦

1.用户表仅保留id,其他数据改为已注销,比如昵称。这样就保留了和其他模块的关联关系 2.相关联的数据,比如聊天记录,或相互留言等,均改为该账号已注销。

1年前 评论
臭鼬 (楼主) 1年前
邢闯洋 1年前
巴啦啦 (作者) 1年前
  • B 相对来说好些,就是标记该用户已经删除,手机号和昵称都可以初始化一下,比如改成“已注销”,因为本质上还是用 数据库的用户id来区分用户。
  • C 如果用户自己注销啦,那么如果想要支持用同一个手机号重新注册,应该是一个全新的账号信息。
1年前 评论
巴啦啦

1.用户表仅保留id,其他数据改为已注销,比如昵称。这样就保留了和其他模块的关联关系 2.相关联的数据,比如聊天记录,或相互留言等,均改为该账号已注销。

1年前 评论
臭鼬 (楼主) 1年前
邢闯洋 1年前
巴啦啦 (作者) 1年前
陈先生

将你的用户表完全分开

users 表示 所有用户表 但没有用户信息,仅有用户id 注册时间等不敏感信息

user_profile 用户资料 用于存储 性别姓名等资料信息

wechat_user 微信用户 主要存储 openid user_id wechat_info 等信息

wxapp_user 小程序用户 同上

mobile_user 手机号码用户 同上

。。。以此类推

用户注销的时候 (软) 删除掉 || 更新 user 表信息即可。

其他信息保留与否看你自己了。

1年前 评论
臭鼬 (楼主) 1年前
陈先生 (作者) 1年前
臭鼬 (楼主) 1年前
陈先生 (作者) 1年前

用户名称就显示为「某注销用户」吧

1年前 评论

2L已经给出标准答案了,如果是user单表,注销修改该条记录即可(状态,昵称,头像)。

1年前 评论

我做的是把手机号和邮箱解绑,用户标记为已注销,其他关联数据不变,比如文章展示那些正常展示(在昵称后面加个括号显示此用户已注销),如果有好友系统,就解绑所有与他关联的好友,以后再用之前的邮箱或者手机号注册就是新账号了

1年前 评论
臭鼬 (楼主) 1年前
一念沧海一念桑田 (作者) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!