안녕하세요!
Sqlite등을 이용해 데이터베이스를 만들 때
한 레코드가 두 개 이상의 필드에 중복된 값을 갖지 못하도록 하고 싶습니다.
(필드에 unique 제약조건을 설정해서 레코드 간 중복값을 갖지 못하도록 하는 게 아닙니다)
예를 들어, 세 개의 필드(FIELD_A, FIELD_B, FIELD_C)를 갖는 테이블에서
레코드1: "a", "b", "c"
레코드2: "a", "b", "z"
이렇게 레코드 간 중복값이 입력되는 건 괜찮은데
레코드3: "d", "e", "d"
레코드3처럼 FIELD_A, FIELD_C에 중복된 "d"가 있는 입력을 막고 싶습니다.
이걸 막으려면 application 레벨에서 INSERT 호출할 때 중복된 값이 있으면 INSERT 호출하지 못하도록 막는 방법이 있겠지만...
DB 자체에서 제약조건처럼 막는 방법이 있을까요?
감사합니다!
Check 제약 조건 설정
ALTER TABLE t ADD CONSTRAINT ck_t_abc CHECK (a != b AND b != c); -- Oracle --
http://gurubee.net/lecture/1013