본문 바로가기
IT/MSSQL

[MSSQL] not null 제약조건 추가 & 예제

by 베베야 2021. 3. 22.
728x90

컬럼의 데이터 값을 NULL로 남겨두면 NULL 값 때문에 프로그램 오류가 발생할 가능성이 있습니다.
오늘은 MSSQL not null 제약조건 추가하는 방법에 대해서 알아보겠습니다.

 

제약조건 추가

아래의 bebeya 테이블에 "born"컬럼을 추가하세요.

select * from bebeya
-------------------------
name age weight
bebe 1 2
nana 1 2
sasa 1 2

SQL > ALTER TABLE bebeya ADD born varchar(8) not NULL;

 

오류 메시지
메시지 4901, 수준 16, 상태 1, 줄 1997
ALTER TABLE은 Null 값을 포함하거나 DEFAULT 정의가 지정된 열만 추가할 수 있습니다. 
또는 추가되는 열이 ID 또는 타임스탬프 열이어야 합니다. 
앞의 조건이 모두 만족되지 않을 경우 테이블이 비어 있어야 이 열을 추가할 수 있습니다. 
열 'born'은(는) 이러한 조건을 만족하지 않으므로 비어 있지 않은 테이블 'bebeya'에 추가할 수 없습니다.

not NULL 제약조건을 사용하기 위해서는 DEFAULT 값이 컬럼에 설정되어 있어야 합니다.
SQL > ALTER TABLE bebeya ADD born varchar(8) not NULL CONSTRAINT DF_born DEFAULT 'N';
--------------------------------
name age weight born
bebe 1    2     N
nana 1    2     N
sasa 1    2     N


제약 조건 삭제 및 오류에 관한 자료는 아래를 참조해주세요

 

하나 이상의 개체가 이 열에 액세스하므로 ALTER TABLE DROP COLUMN weight이(가) 실패했습니다. [컬럼 삭

컬럼을 삭제하려고 하면 아래와 같이 "하나 이상의 개체가 이 열에 액세스 하므로 ALTER TABLE DROP COLUMN weight이(가) 실패했습니다."라는 오류 메시지가 나오면서 삭제가 안 되는 경우가 있습니다. 이

bebeya.tistory.com

이상으로 MSSQL 테이블에 not null 제약조건을 추가하는 방법에 대해서 알아보았습니다.

반응형
그리드형

댓글