작성
·
245
0
SQL로 테이블 변경하기
11:34
alter table에서 변경할 컬럼 타입을 넣을때 not null을 안써주면 원래 not null이었으면 null이어도 되는걸로 바뀌는 건가요?
이처럼 변경할 컬럼 타입에 원래 컬럼에 있던 타입에 관련된 것을 안써주면 리셋되는 건가요?
답변 1
0
안녕하세요. 답변 도우미입니다.
SQL의 ALTER TABLE
구문을 사용할 때, 컬럼의 데이터 타입을 변경하는 경우, 명시적으로 NOT NULL 을 안써줘도, 원래 컬럼이 NOT NULL
로 설정되어 있었다면, NOT NULL
설정은 유지됩니다.
다만, 혹시나, 만약 새로운 데이터 타입으로의 변환이 기존의 NOT NULL
제약조건을 위반할 수 있는 값 (예: NULL)을 가지도록 설정이 된다면, 해당 ALTER TABLE
명령은 실패하게 됩니다.
또한, 기본적으로는 ALTER 를 사용한 데이터 타입 변경시, 원래 컬럼의 제약조건(NOT NULL 까지)을 포함해서 명시적으로 설정하는 것이 보다 좋을 수 있습니다.
감사합니다.