2016-08-30 4 views
3

外部キー(この場合はモデル)が存在する場合にのみ、外部キー参照を持つテーブルに新しい行を挿入するにはどうすればよいですか?外部キーが存在する場合、PostgreSQLの挿入

現在、私は次の文があります

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

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

答えて

3

はFKが存在しない場合は何も返さないSELECTを使用してください。

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

あなたは、参照先の表がどのようなものであるか教えてくれませんでした。私はそれがmodelだと仮定しました - あなたはそれを実際の名前に調整する必要があります。

関連する問題