질문/조언질답게시판
Extra Form
PHP PHP 7.0
CMS XpressEngine

DELETE
FROM `xe_member` 
WHERE `user_name`
REGEXP '[a-z][A-Z]'
AND `nick_name`
REGEXP '[a-z][A-Z]'

 

약 4만건의 회원 중 3만 정도가 스패머인거같습니다.

이런쿼리로 xe_member 테이블에서 이름&닉네임이 영어로 된 회원을 삭제한다고 할때 어떤결과가 나올까요? 

억울한 가입자도 일부 있겠지만 그건 무시하고

그냥 xe_member 테이블에서만 삭제하면 회원이 삭제되는 걸까요?

 

20210226_093901.png

  • profile
    저는 2만개정도를 한페이지 한페이지씩 확인해가며 삭제했었습니다. 피해보는 회원이 없도록 하기위해서.. 시간이 어마어마하게 걸리더군요.
  • profile

    영어 뒤에 숫자도 붙어 있으니 정규식을 좀더 다듬어 보세요.^^

     

    모두 준회원 그룹에 소속되어 있으니, 그룹 소속 내역을 관리하는 member_group_member 테이블에도 쓰레기가 엄청나게 쌓여 있을 것입니다. member 테이블만 삭제한다면 다른 쪽은 그대로 남겠죠. 회원을 삭제한 후에는 member_group_member 테이블에서 "존재하지 않는 member_srl을 참조하는" 레코드를 찾아 모두 삭제하는 쿼리도 실행해야 합니다. 포인트 내역이 남아 있다면 point 테이블도 마찬가지...

  • profile profile
    역시 그렇겠군요.
    일단 xe_member 테이블에서만 먼저 삭제해도 오류가 생기거나 하진 않겠죠?
  • ?
    가입일과 최근로그인일이 거의 같은 경우 로 추가검색하면 좀 더 정확해집니다.
    스팸은 재로그인 할 일이 거의 없기에..