본문 바로가기
Study/Database

MYSQL Check 제약조건

by 얏옹이 2023. 1. 31.
반응형

 

테이블을 생성할때 Check 제약조건으로 특정한 데이터만 해당 컬럼에 저장될수있도록 제약조건을 설정해줄수있다.

 

CREATE TABLE `article` (
	`article_no`	int	NOT NULL auto_increment primary key, --  COMMENT 'auto increament 1 primary key',
	`article_category`	varchar(20)	NOT NULL check(`article_category` in('공지','자유','트레이드','해주세요','해줄게요','리뷰')),	-- COMMENT 'checkt 제약조건 공지 자유 트레이드 해주세요 해줄게요 리뷰',
	`user_no`	int	NOT NULL
)engine=innoDB charset=utf8;

 

article이라는 테이블을 생성하면서 각 컬럼에 대한 제약조건을 걸어주었는데.

article_no 라는 컬럼에는 NOT NULL 제약조건, Auto_increment, Primary Key를 지정해주었다.

Not Null은 말 그대로 Null값이 들어올수 없게 한다는것

Auto_increment는 제약조건이락 하기에는 조금 애매(?) 하지만, 1씩 자동으로 증가하게 한다는 뜻이다.

Primary key는 테이블의 고유값이며 중복될수없는 즉 Unique 한 값을 가져야한다.

 

정리해보자면 article_no는 자동으로 1씩 증가하며, 숫자가 중복될수없고, null이 들어갈수가없다.

 

article_category에 check 제약조건을 주었는데 in 안에 나열된 문자열들만 해당 컬럼에 들어갈수가 있다.

 

혹은 비교연산자로 특정 범위의 숫자값만 들어오게 한다던지 설정해줄수가 있다.

 

 

 

 

반응형