-
[MySQL] 데이터 삭제 시 백업 테이블로 데이터 옮겨놓기생활코딩/DataBase 2020. 12. 1. 12:10
mysql> INSERT INTO topic_del SELECT * FROM topic WHERE id = 2;
[참조 페이지] extbrain.tistory.com/116
기존 데이터를 삭제할 때, 백업해둘 필요성이 생겼다.
우선 백업용 테이블을 생성한다. 기존 테이블과 구조가 같아야 하므로 아래와 같이 복사한다.
mysql> CREATE TABLE IF NOT EXISTS topic_del LIKE topic; Query OK, 0 rows affected (0.24 sec)
삭제할 데이터를 추가한다. 예를 들어 id 2번 데이터라고 하면,
mysql> INSERT INTO topic_del SELECT * FROM topic WHERE id = 2; Query OK, 1 row affected (0.01 sec) Records: 1 Duplicates: 0 Warnings: 0
이제 기존 테이블에서 해당 데이터를 지운다.
mysql> DELETE FROM topic WHERE id = 2; Query OK, 1 row affected (0.03 sec)
만약 데이터 백업이 필요하다면, 백업 테이블인 topic_del에서 해당 데이터를 다시 가져오면 된다.
mysql> INSERT INTO topic SELECT * FROM topic_del WHERE id = 2; Query OK, 1 row affected (0.01 sec) Records: 1 Duplicates: 0 Warnings: 0
'생활코딩 > DataBase' 카테고리의 다른 글
[MySQL] SELECT EXISTS(SELECT * FROM table WHERE col1 = ''); (0) 2020.12.01 [MySQL] 언어설정: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD (0) 2020.11.11 [MySQL] DELETE FROM .. WHERE id IS NULL; (0) 2020.11.08 [MySQL] ALTER TABLE table ... TIMESTAMP (0) 2020.11.08 [MySQL] 테이블 분리와 JOIN (0) 2020.09.28