반응형
테이블을 생성할때 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 안에 나열된 문자열들만 해당 컬럼에 들어갈수가 있다.
혹은 비교연산자로 특정 범위의 숫자값만 들어오게 한다던지 설정해줄수가 있다.
반응형
'Study > Database' 카테고리의 다른 글
[PostgreSQL] PostGreSQL 기본 CRUD 쿼리문 정리 (0) | 2023.03.15 |
---|---|
MYSQL mysql column count doesn't not match value count at now 1 에러 해결 (0) | 2023.02.19 |
MYSQL ALTER (0) | 2023.01.19 |
MYSQL Insert (0) | 2023.01.19 |
MYSQL Database 생성 및 테이블 생성 문법 (0) | 2023.01.18 |