2012-12-20 67 views
1

例模式的無效外鍵:http://sqlfiddle.com/#!1/3d410添加Postgres裏

我已經有一個表,我想補充一個新的,無效的外鍵的表。添加無效外鍵的正確語法是什麼?

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

那麼,您發現自己的「無效」選項有什麼問題? –

回答

4

你先添加列:

alter table trunks add column junk serial; 

那麼約束添加到表:

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