• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

alter table 명령에서

23.06.13 19:46 작성 조회수 197

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 까지)을 포함해서 명시적으로 설정하는 것이 보다 좋을 수 있습니다.

감사합니다.