우선 기본 키(Primary Key) 제약 조건이란 무엇일까
기본 키는 테이블에 있는 데이터를 고유하게 구분할 수 있는 정보를 나타내기 위해서 사용한다.
만약 기본 키를 설정하지 않은 테이블을 생성하려한다면 특정 데이터를 찾기위한 고유한 정보가 존재하지 않기 때문에 에러메시지가 출력되면서 테이블이 생성되지 않게된다.
출력되는 에러 메세지 : ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
CREATE TABLE Users
(
userId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(255)
);
위 구문은 userId와 name에 컬럼을 가지고 userId를 기본키로 설정한 것이다.
여기서 AUTO_INCREMENT는 데이터를 삽입할 때 아무런 데이터를 입력하지 않더라도 고유한 값을 유지할 수 있도록 도와주는 속성이다.
여기서 역할은 DB내에서 데이터가 입력될 때 마다 숫자를 1씩 증가시켜 기본 키의 고유한 값을 유지시켜주는 것이다.
Null 제약 조건은 무엇일까?
NULL 속성은 특정 컬럼에서 NULL값을 허용하거나 허용하지 않도록 설정하는 조건이다.
NULL : 값이 없다.
테이블엥서 컬럼을 생성할 떄 추가 조건을 작성하지 않으면 기본적으로 해당 컬럼은 NULL값을 허용하는 상태가 된다. 즉 데이터가 입력되지 않아도 괜찮다는 뜻이된다. 이렇게 되면 필수적으로 입력되어야 하는 데이터가 입력되지 않고 누락될 수 있는 위험이 발생할 수 있다.
예를 들어 게임을 하기위해 회원 가입을 해야한다고 가정한다면 아이디나 비번 같은 필수로 입력되어야 하는 부분이 입력되지 않아도 그냥 넘어가 버리는 문제가 발생한다. 이러면 회원가입 의미가 없다고 할 수 있다. 우리가 이 사용자라는 것을 증명해야 하는데 증명을 못한다.
그래서 위 테이블을 만드는 구문에서 NOT_NULL을 userId에 붙이는 것으로 userId에 NULL값이 들어온다는 것을 허락하지 않는다는 것으로 만약 이 부분을 무시한다면 오류가 뜨는 것이다.
'TIL' 카테고리의 다른 글
| 24.10.11 TIL (1) | 2024.10.11 |
|---|---|
| 24.10.10 TIL (0) | 2024.10.10 |
| 24.09.25 TIL (3) | 2024.09.25 |
| 24.09.24 TIL (1) | 2024.09.24 |
| 24.09.23 TIL (0) | 2024.09.23 |