도서 DB 데이터 날라감

순두누나·2025년 5월 15일

트러블슈팅

목록 보기
5/8

내가 sql 테이블을 수정하다가 잘못하고 drop 코드를 같이 돌려버렸다....
DB 구축했는데 확인해보니 empty set이라고 썼을 때의 그 가슴 두근거림이란...
잊을 수 없지만 금방 복구가 가능한 일이다

핵심 원인: DROP TABLE IF EXISTS

sql
복사편집
DROP TABLE IF EXISTS question;
DROP TABLE IF EXISTS book;
DROP TABLE IF EXISTS user;
  • 이 구문은 테이블이 존재하면 완전히 삭제
  • 테이블 구조 + 안에 들어있던 모든 데이터도 삭제됨.
  • 이후 CREATE TABLE로 재생성되긴 했지만, 데이터는 다시 insert 하지 않으면 없음.

요약

단계결과
DROP TABLE기존의 데이터 전부 삭제됨....
CREATE TABLE빈 테이블이 다시 만들어짐
외래키 재설정구조는 완벽해졌지만 데이터는 없음
복구 시도백업 없으면 불가능, 재수집만 가능

대응 방법

항목대응 방법
도서 데이터POST /api/books/import 호출로 재수집
질문, 사용자 데이터백업 없으면 수동 입력하거나 seed 파일 만들어야 함
해결방안DROP TABLE 실행 전엔 mysqldump 필수

배운 점...


# 1. DROP 전에 백업
mysqldump -u root -p qnb_database > backup_qnb.sql

# 2. 구조만 바꾸고 싶으면 ALTER TABLE 사용
ALTER TABLE question ADD COLUMN status VARCHAR(255);

> 백업을 생활화하자

profile
순두의 누나입니다

0개의 댓글