채택완료

member 테이블 질문입니다

2018-07-02 (월) 14:47:08 2,266

member테이블에서

admin 빼고 truncate 해줄수 없나요!?

|

답변 4개 / 댓글 1개

채택된 답변
+20 포인트

RENAME TABLE g5_member TO g5_member_back;

create table g5_member select * from g5_member_back where mb_id = 'admin';

로 해보세요

백업본까지 삭제하시면 완벽

drop table g5_member_back; 

답변에 대한 댓글 1개

감사합니다 ㅋ
2018-07-03 (화) 14:03:03

1) create temp table saved as
    select * from g5_member where mb_id = 'admin';

2) truncate table g5_member;

3) insert into g5_member
    select * from saved;

또다른 방법으로

테이블구조나 기타 등등에 영향을 고려하여

delete from g5_member

where mb_id <> 'admin';

하면 admin을 제외하고 삭제됩니다.

truncate를 하면 복사할 값도 사라지기 때문에

굳이 Truncate를 사용하고 싶으시면

제가 처음에 답드린것중

create table g5_member2 select * from g5_member where mb_id = 'admin';

을 수행하신다음

truncate g5_member;

insert into g5_member select * from g5_member2

;

로 1개의 Row를 밀어 넣으셔야겠죠

사실 방법은 여러가지 입니다만

데이타의 정합성이 깨지는것은 고려되지 않았습니다.

기타 회원이 존재하는경우

회원이 작성한 게시물의 작성자는 다 사라지기 때문에

사이트가 좀 지저분(?) 해질듯 싶네요

truncate 이라는게 데이타는 지우고 테이블 구조만 남겨 주는건데요 ^^

윗분 댓글처럼 지우고 admin 만 다시 넣어야죠

답변을 작성하려면 로그인이 필요합니다.