다른 외래 키를 사용하여 테이블 B에 중복 항목을 입력 할 수 있어야합니다 (테이블 B는 테이블 A의 키를 참조합니다). 이처럼 :SQLite 테이블을 만들어야합니다
Table A:
Record with key of 11
Record with key of 22
Table B:
Record referring to Table A record 11, with a field marked unique: value 101
Record referring to Table A record 22, with a field marked unique: value 101 <--- violates the unique key
이 내가 시도했지만 작동하지 않았다 무엇 :
CREATE TABLE Readings (
SITE_ID TEXT REFERENCES SiteData
, LOOP_NBR TEXT
, LOOP_CLOSED BINARY
, SEQ INTEGER
, STA TEXT UNIQUE
, BS TEXT
, FS TEXT
, HI TEXT
, DESC TEXT
)
INSERT INTO Readings (SITE_ID, SEQ) VALUES (' + databaseKey + ', 0)
누구가이 작업을 수행하는 방법을 알아?
어 ... 아니, 그렇지 않을거야. 외래 키에 UNIQUE를 추가하면 해당 열 내에 중복 값을 가질 수 없습니다. UNIQUE 제약 조건은 해당 열에 만 적용됩니다. – CanSpice
미안하지만, 그 중 하나를하지 않았어 ... 테이블 B의 레코드를 테이블 A의 다른 키를 가진 레코드와 구분하여 구분할 수있는 방법이 없어야합니까? – SpokaneDude
나는 더 나쁜 상황이 생기면 항상 제약 조건을 제거하고 SELECT를 사용하여 복제본인지 확인합니다. 맞습니까? – SpokaneDude