작성
·
191
0
답변 1
0
안녕하세요. 답변 도우미입니다.
일반적으로 ALTER
구문을 사용하여 테이블 스키마를 수정하거나 컬럼을 추가할 때 기존에 적재된 데이터는 유지됩니다. 예를 들어, 새로운 컬럼을 추가하면 해당 컬럼은 기존 행에 대해 NULL
값이나, 설정된 디폴트 값으로 채워집니다.
하지만 주의해야 할 부분이 있습니다. 기존 컬럼의 데이터 타입을 변경하거나, NOT NULL 제약을 추가하는 등의 변경사항이 기존 데이터와 충돌할 경우, 오류가 발생할 수 있습니다. 예를 들어, VARCHAR
컬럼을 INT
로 변경하려 할 때 해당 컬럼에 문자열 데이터가 있다면 문제가 될 것입니다.
기본키(PK) 추가에 관해서는, 기존 데이터가 새로운 PK 규칙을 위반하지 않는 한, 기존 데이터에 영향을 주지 않고 PK를 추가할 수 있습니다. 만약 기존 데이터가 새 PK 규칙에 부합하지 않는다면, 해당 데이터를 수정하거나 삭제해야 PK를 추가할 수 있습니다.
테이블을 완전히 다시 설계해야 하는 상황이라면, 테이블을 DROP 하고 새로운 스키마로 다시 생성할 수 있습니다. 하지만 이 경우 기존 데이터는 모두 손실된다는 점도 알고 유의하시면 좋을 것 같습니다. DROP 전 필요 데이터가 있다면 보통은 백업을 해놓고 DROP 을 진행합니다.
감사합니다.
자세히 답변 주셔서 너무 감사합니다!!