프로그래밍

MySQL Check 제약

캐논볼 2016. 3. 29. 10:52

http://warmz.tistory.com/entry/MySQL-DB-%ED%85%8C%EC%9D%B4%EB%B8%94-Check%EC%A0%9C%EC%95%BD%EC%A1%B0%EA%B1%B4-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

 


Check(제약조건) 
 - 컬럼에 들어갈 수 있는 값들을 제한할 수 있다.
 - 만약 넣으려는 값이 체크 조건에 맞지 않으면 에러가 발생한다.

예)

 

1
2
3
4
5
Create Table piggy_bank
(
    id Int Auto_Increment Not Null Primary Key,
    coin CHAR(1) Check (coin IN ('P', 'N', 'D', 'Q'))
)

 


예) 기존의 테이블의 컬럼(gender)에 제약 조건('M' or 'F') 설정하기

 

1
2
Alter Table my_contacts
Add Constraint Check gender IN ('M', 'F');

 

 


  * MySQL에서는 Check가 데이터의 무결성을 강제하지 않는다.
    - MySQL에서는 체크 제약조건을 사용해서 테이블을 만들 수는 있지만 아무 효과가 없다. 
      MySQL은 이를 무시한다.