TIL

24.10.01 TIL

skyteer0 2024. 10. 1. 20:56

우선 기본 키(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