아하
생활

생활꿀팁

반듯한거북이278
반듯한거북이278

XE1에서 특정 일자 이후에 가입한 회원을 모두 삭제하고 싶습니다.

안녕하세요.

최근에 스팸공격?으로 봇이 생성한 가입자가 수십만명이 생겨서요, 해당 회원을 모두 삭제하고, 이후 회원가입시에는 이메일 인증을 하게 하려고 하는데요,

XE1에서 admin메뉴 말고, 기존에 운영중인 DB에 SQL을 바로 연결하여 쿼리를 수행할수 있는 방법이 있는지 궁금합니다. 웹을 검색해 보니 관련 문법은 있는데, 어떻게 연결하는지가 잘 안나와 있어서 문의 드립니다.

감사합니다.

55글자 더 채워주세요.
2개의 답변이 있어요!
  • 산뜻한삵255
    산뜻한삵255

    XE를 사용안한지 오래되었는데 그래도 기억에 남아서 적어보겠습니다. XE는 기본적으로 DB생성시에 테이블에 XX_ 별칭이 붙습니다. 그래서 회원을 삭제하고 싶으시니까 제 기억에 등록일은 regdate 컬럼으로 남기는 걸로 기억합니다. 쿼리를 짜보면

    DELETE FROM XX_users WHERE regdate > '2020-08-13';

    같은 조건으로 쿼리를 실행하면 해당 날짜 이후의 회원은 모두 삭제 될겁니다.

  • 회원 삭제하기

    1. XE 회원테이블에서 member_srl 이 1000 이상인 회원 모두 row 삭제하기

    1. 바로 삭제

    delete from xemember where membersrl >= 1000;

    2. 조회후 삭제

    delete from xemember where membersrl in (select * from (select membersrl from xemember where member_srl >= 1000) tmp );

    글 삭제하기

    1. XE 도큐멘트 테이블에서 작성날짜가 20160201163931 시간 이후의 글 모두 삭제하기

    delete from xe_documents where regdate >= 20160201163931;

    2. XE 도큐멘트 테이블에서 document_srl 이 20087 이상인 글 모두 삭제하기

    delete from xedocuments where documentsrl >= 20087;