我经营一个我自己建立的论坛。好的,所有用户都有机会删除自己。
但他们所有的主题和帖子都将保留。但是现在它应该说出他们的用户名,它只是空白。
我该如何处理?
我应该创建一个新用户并将其调用,例如“删除用户”并在删除自己时将所有主题/帖子分配给该ID? 或者,如果不打印,我应该检查用户ID是否存在,例如“已删除用户”为用户名?
最聪明的方法是什么?任何其他方式告诉我。
谢谢!
p.s(我不是英语母语人士,在在线词典上查找一些奇特的词语)
答案 0 :(得分:7)
我建议不要删除用户。您只需向users表添加一列,例如:
ALTER TABLE users ADD COLUMN (is_active TINYINT(1) NOT NULL DEFAULT 1);
然后,当您“删除”某个用户时,只需将其标记为无效:
UPDATE users SET is_active = 0 WHERE users.id = 7;
对于用户列表和帐户访问权限,您将检查is_active状态。为了显示诸如帖子等数据,你不关心他们的活跃状态,你只需从表中获取名称。