인프런 커뮤니티 질문&답변

이하윤님의 프로필 이미지
이하윤

작성한 질문수

[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

SQL 로 테이블 생성, 삭제, 수정 문법 이해하기 (업데이트)

alter table 명령에서

작성

·

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

감사합니다.

이하윤님의 프로필 이미지
이하윤

작성한 질문수

질문하기