[MSSQL] 컬럼 NOT NULL 제약조건 추가, 제거 방법
- 데이터베이스/MSSQL
- 2022. 4. 20.
SQL Server에서 칼럼의 NOT NULL 제약조건을 추가하여 NULL을 입력하지 못하게 하거나, NULL을 허용하도록 하기 위해서는 ALTER TABLE~ALTER COLUMN~ 구문을 사용하면 된다. 신규 칼럼을 추가할 때 NOT NULL 제약조건을 부여하여 추가할 수 있지만, 이미 존재하는 칼럼의 속성을 바꿀 때는 아래를 참고하면 된다.
목차 |
칼럼 NOT NULL 제약 조건 추가, 제거
NOT NULL 추가
ALTER TABLE dbo.emp ALTER COLUMN ret_yn VARCHAR(1) NOT NULL
ALTER TABLE [테이블명] ALTER COLUMN [칼럼명] [데이터타입] NOT NULL
테이터타입 뒤에 NOT NULL을 붙여서 칼럼을 변경하면 된다. (데이터타입은 칼럼의 원래 데이터타입 입력)
NOT NULL 추가 시 해당 칼럼에 NULL인 데이터가 존재하면 오류가 발생하니 아래의 주의사항을 참고하면 된다.
NOT NULL 제거
ALTER TABLE dbo.emp ALTER COLUMN ret_yn VARCHAR(1)
ALTER TABLE [테이블명] ALTER COLUMN [칼럼명] [데이터타입]
NOT NULL이 없는 상태에서 칼럼을 변경하면 NOT NULL 제약조건이 제거된다.
칼럼 NOT NULL 추가 시 주의사항
![]() |
테이블 'master.dbo.emp', 열 'ret_yn'에 NULL 값을 삽입할 수 없습니다. 열에는 NULL을 사용할 수 없습니다. UPDATE이(가) 실패했습니다. |
칼럼에 NOT NULL 제약조건을 추가하기 위해서는 해당 칼럼에 NULL인 데이터가 존재하면 오류가 발생한다. 이미 테이블에 NULL로 입력된 데이터가 존재한다면 해당 칼럼에 기본값을 입력하여 NULL인 데이터가 존재하지 않도록 한 후 NOT NULL 제약조건을 추가해야 한다.
아래의 순서대로 해당 칼럼의 데이터를 확인 후 작업을 진행하면 된다.
1. NOT NULL로 적용할 칼럼에 NULL이 존재하는지 조회한다
![]() |
2. 해당 칼럼에 NULL이 존재하지 않도록 기본값을 UPDATE 한다
![]() |
3. 해당 칼럼에 NULL인 데이터가 존재하지 않는다.
![]() |
4. NOT NULL 제약조건이 정상적으로 추가된다.
![]() |
[MSSQL] 컬럼 추가, 변경 방법 (Alter Table)
SQL Server에서 테이블의 칼럼을 추가, 변경, 삭제를 하기 위해서는 ALTER TABLE 문을 사용하면 된다. ALTER COLUMN 을 사용하면 칼럼 사이즈, 데이터 타입을 변경할 수 있다. 신규 칼럼을 추가하면 테이블
gent.tistory.com
[MSSQL] 테이블 생성 방법 2가지 (Create Table)
SQL Server에서 테이블을 생성할 때는 대부분 CREATE TABLE 문을 사용해서 테이블을 생성한다. 그러나 SQL 문이 익숙하지 않을 때는 SSMS 툴을 사용하면 조금 더 쉽게 테이블을 생성하거나 테이블 속성을
gent.tistory.com