한 테이블의 행에 다른 테이블의 행이 일치해야하고 그 반대의 경우도 적용해야합니다. 나는 현재 당신이 아직 만들지 않은 테이블을 참조 할 수 없다는 사실을 피하기 위해 이렇게하고있다. 내가 모르는 더 자연스러운 방법이 있습니까?PostgreSQL에서 순환 제약을 어떻게 구현합니까?
CREATE TABLE LE (id int PRIMARY KEY);
CREATE TABLE LE_TYP (id int PRIMARY KEY, typ text);
ALTER TABLE LE ADD CONSTRAINT
twowayref FOREIGN KEY (id) REFERENCES LE_TYP (id) DEFERRABLE INITIALLY DEFERRED;
ALTER TABLE LE_TYP ADD CONSTRAINT
twowayref_rev FOREIGN KEY (id) REFERENCES LE (id) DEFERRABLE INITIALLY DEFERRED;
나에게 적절한 방법처럼 보입니다. –
글쎄, 당신은 같은 테이블에 그 열을 넣을 수 있습니다 –
순환 제약에 대한 필요성을 디자인 할 수 없다면 이미하고있는 일은 상당히 합리적입니다. –