Jstol의 일기 (TIL,WIL)

[TIL #1] Not Null에 대해서 (DB 제약조건)

제이스톨 2024. 8. 12. 22:04
728x90

들어가기 전에..

오늘은 점심시간쯤해서 카카오톡 개발자 소통방 같은 곳을 들어가고자 여러 개발자 소통방들을 검색해봤다.

그러다가 암호 힌트가 NotNull인 오픈 채팅방을 찾았고 난 이 방을 들어가기 위해서 NOT NULL에 대해서 구글에 검색해보았고 오늘 자 TIL에 기록하게 되었다

 

그렇게 구글링을 해서 얻은 정보는 아래와 같다. ▽ ▽ ▽ ▽ ▽

 

Not Null

DB에서 테이블을 만들 때 컬럼을 정의해줄 때, 컬럼에 NOT NULL이라는 제약조건을 명시하면 해당 컬럼에는 반드시 데이터를 입력해주어야 한다. 우리가 흔히 볼 수 있는 게시판을 예로 들자면

CREATE TABLE jh_board (
    user_id INT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    tagId INTEGER
);

이런 식으로 직접 테이블을 만들 때 제약조건인 NOT NULL을 추가 할 수도 있고

 

ALTER TABLE jh_board
MODIFY tagId INTEGER NOT NULL;

기존에 존재하는 테이블에 제약조건을 추가해줄 수도 있다.

 

※ 주의사항!!

 

  • 기존 데이터가 NULL 값을 포함하고 있는 경우, NOT NULL 제약조건을 추가할 수 없습니다. 이 경우, 먼저 NULL 값을 처리해야 합니다.
  • 데이터베이스 시스템에 따라 ALTER TABLE 명령어가 다르게 적용될 수 있으므로, 사용하는 DBMS의 문서를 참조하는 것이 좋습니다. (예: MySQL, Oracle, SQL Server, PostgreSQL 등)

 

 

728x90