2017-10-26 14 views
0

私は一意の列を持っています。私はまだそれがない場合は、行を挿入し、その行のidを返します。挿入(存在しない場合)および返品ID

INSERT INTO t(a) VALUES ('a') ON CONFLICT DO NOTHING RETURNING t.id; 

は何も返しません。 Here's a fiddle
「a」が新規に挿入されたかどうかは、毎回1回取得する方法を探しています。

+1

https://stackoverflow.com/q/39779145/330315 –

+0

https://stackoverflow.com/q/24050779/330315 –

答えて

0
with i as (
    INSERT INTO t(a) VALUES ('a') ON CONFLICT (a) DO NOTHING RETURNING id 
) 
select id from i 
union all 
select id from t where a = 'a' 
limit 1 
関連する問題