SQL 기본 및 활용
🗄️ SQL관리 구문★★★★☆자주

제약조건 — 값이 들어오기 전에 막는다

PRIMARY KEY·UNIQUE·NOT NULL·CHECK·FOREIGN KEY 로 잘못된 값이 아예 들어오지 못하게 한다.

PRIMARY KEYUNIQUENOT NULLCHECKFOREIGN KEYCASCADE

왜 그런지까지

PRIMARY KEY 는 유일하면서 NULL 이 아니어야 하고 표에 하나만 둘 수 있다. UNIQUE 는 유일하되 NULL 은 허용한다.

CHECK 는 값의 범위를 정하고, FOREIGN KEY 는 다른 표에 있는 값만 들어오게 한다. 외래키가 걸린 부모 행을 지울 때 어떻게 할지는 ON DELETE CASCADE(같이 지움)·SET NULL(NULL 로 바꿈)로 정한다.

헷갈리는 것

ON DELETE CASCADE vs SET NULL

CASCADE 는 부모를 지우면 자식도 함께 지우고, SET NULL 은 자식의 외래키를 NULL 로 바꿔 남긴다.

확인 문제

넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다