2016-08-30 38 views
3

只有在外鍵(在這種情況下爲模型)存在的情況下,如何在具有外鍵引用的表中插入新行?如果外鍵存在,PostgreSQL插入

目前我有以下聲明:

INSERT INTO furniture (model, type) VALUES (modelA, chair) 
+2

'... WHERE EXISTS(SELECT * FROM models WHERE model = modelA)' – joop

回答

3

使用SELECT如果FK不存在,不返回任何內容。

INSERT INTO furniture (model, type) 
select 'modelA', 'chair' 
where exists (select * 
       from model 
       where model.model = 'modelA'); 

你沒有告訴我們被調用的表是什麼。我認爲它是model - 你需要調整到真實姓名。