(Sqlite) - 한 레코드 내 두 개 이상의 필드에 중복된 값 입력 차단하는 방법이 있나요 0 2 605

by 네동제비 SQLite 제약조건 [2021.04.15 04:21:36]


안녕하세요!

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 자체에서 제약조건처럼 막는 방법이 있을까요?

 

감사합니다!

by 마농 [2021.04.15 08:09:50]

Check 제약 조건 설정
ALTER TABLE t ADD CONSTRAINT ck_t_abc CHECK (a != b AND b != c);    -- Oracle --
http://gurubee.net/lecture/1013


by 네동제비 [2021.04.15 11:20:33]

와 ㅎㅎ 잘 되네요 ㅎㅎ 마농님, 감사합니다!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입