可能重复:
Cannot SELECT from UPDATE RETURNING clause in postgres
我正在使用一个postgreSQL数据库,它有一个“公司”表和一个“国家”表,每个表都有一个唯一ID。
我想要一个设置,如果我尝试将公司添加到数据库,它只会将公司添加到具有新唯一ID的数据库(如果它尚不存在)。
如果有人能够对此有所了解,我会非常感激,
詹姆斯
答案 0 :(得分:6)
insert into company (unique_id, company_name)
select 42, 'New Company Name'
from company
where not exists (select 1 from company where unique_id = 42);
另请参阅此处了解更一般的解决方案:Insert, on duplicate update in PostgreSQL?