2010-08-05 3 views
4

MySQL은 체크 제약 조건을 지원합니까?MySQL은 체크 제약 조건을 지원합니까?

오류없이 MySQL에서 다음 스크립트를 실행할 수 있습니다. 내가 쿼리 경우

ALTER TABLE EMP_DB_DESIGN_EXCEL ADD (
    CONSTRAINT CHK_EMP_IS_ACTIVE CHECK (IS_ACTIVE IN ('Y','N'))); 

그러나이 반영되지 않습니다 :

SELECT * FROM information_schema.TABLE_CONSTRAINTS T where t.table_name='EMP_DB_DESIGN_EXCEL'; 

답변

6

를 지금까지 내가 과거 사용 및 설명서에서 말할 수있는, MySQL은 단지, UNIQUE 및 FOREIGN KEY 제약 조건 및 다음을 PRIMARY KEY를 지원합니다 테이블이 InnoDB 테이블 인 경우에만. 다른 저장 유형은 이러한 제한 조건을 허용하고 유행 후에 저장하지만 저장하지는 않습니다. 당신이 언급하는 종류의 강제는 시행되지 않습니다; 거기에 대해 MySQL 웹 사이트에 대한 토론이있는 것 같습니다.

2

테이블, 행 및 열에서 원하는 규칙을 적용 할 수 없다는 것은 정말 실망 스럽습니다. 테이블 엔진 수도 많아지기 쉽지 않습니다. CHECK, TRANSACTION, FULLTEXT INDEX, FOREIGN KEY 등 일부 엔진에 누락되어 일부 엔진에 있습니다.

관련 문제