2012-12-20 7 views
1

예 스키마의 유효하지 않은 외래 키 추가 : http://sqlfiddle.com/#!1/3d410포스트 그레스

이미 테이블이있어 나는 테이블에 새로운 유효하지 외래 키를 추가 할 수 있습니다. 유효하지 않은 외래 키를 추가하는 올바른 구문은 무엇입니까?

CREATE TABLE junks (
    id serial PRIMARY KEY, 
    name text 
); 

CREATE TABLE trunks (
    id serial PRIMARY KEY, 
    name text 
    -- no fk 
); 

-- and the below does not work! 

--ALTER TABLE trunks ADD junk serial REFERENCES junks(id) NOT VALID; 
먼저 열 추가
+1

그렇다면 'NOT VALID'옵션에 대해 알고있는 것은 무엇입니까? –

답변

4

:

alter table trunks add column junk serial; 

그런 다음 테이블에 제약 조건을 추가

alter table trunks add constraint the_constraint_name 
    FOREIGN KEY (junk) 
    REFERENCES junks (id) 
    not valid;