2009-08-07 7 views
4

나는 내가 만든 포럼을 운영한다. 모든 사용자는 자신을 삭제할 수 있습니다.사용자가 삭제 될 때 항목을 어떻게 처리해야합니까?

하지만 모든 스레드와 게시물은 그대로 유지됩니다. 하지만 지금은 사용자 이름을 말해야하는 곳은 그냥 비어 있습니다.

어떻게 처리해야합니까?

새 사용자를 만들고 전화해야합니다. "삭제 된 사용자"를 삭제하고 자신을 삭제할 때 모든 스레드/게시물을 해당 ID에 할당합니까? 아니면 예를 들어 인쇄하지 않으면 사용자 ID가 있는지 확인해야합니다. "사용자 삭제"를 사용자 이름으로 사용 하시겠습니까?

가장 효율적인 방법은 무엇입니까? 다른 방법으로 말해.

감사합니다.

p.s

답변

7

내가 실제로 사용자를 삭제하지 제안 (내가 영어 원어민 아니에요, 온라인 사전에 몇 가지 멋진 단어를 보았다). 당신은 단순히 같은 사용자 테이블에 열을 추가 할 수 있습니다 사용자를 "삭제"할 때

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 상태를 검사합니다. 게시물 등의 데이터를 표시하고 싶지 않은 경우에는 활성 상태에 신경 쓰지 않고 테이블에서 이름을 가져옵니다.

+0

좋은 아이디어! 덕분에 –

+0

내 아이디어. 해당 사용자에 대한 백도어 (또는 해당 사용자의 개인 데이터)를 DB에 열어 두지 마십시오. 사용자 또는 그 밖의 다른 사용자가 "활성"플래그를 확인해야 할 때 사용자로 로그인하거나 변경하라는 요청. 모든 사용자는 익명화 (익명 성 문제)로 인해 자신을 삭제할 수 있으므로 전자 메일, 사진 또는 그 밖의 다른 항목을 포함하는 다른 테이블은 제거해야합니다. 빈 또는 NULL로 표시 한 다음 개인 정보를 침해하는 것이 좋습니다. – Anthony

관련 문제