删除用户时应该如何处理条目?

时间:2009-08-07 22:17:08

标签: sql mysql database-design

我经营一个我自己建立的论坛。好的,所有用户都有机会删除自己。

但他们所有的主题和帖子都将保留。但是现在它应该说出他们的用户名,它只是空白。

我该如何处理?

我应该创建一个新用户并将其调用,例如“删除用户”并在删除自己时将所有主题/帖子分配给该ID? 或者,如果不打印,我应该检查用户ID是否存在,例如“已删除用户”为用户名?

最聪明的方法是什么?任何其他方式告诉我。

谢谢!

p.s(我不是英语母语人士,在在线词典上查找一些奇特的词语)

1 个答案:

答案 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状态。为了显示诸如帖子等数据,你不关心他们的活跃状态,你只需从表中获取名称。