PostgreSQL数据库 - 仅在记录不存在时插入

时间:2012-12-16 14:39:34

标签: sql database postgresql

  

可能重复:
  Cannot SELECT from UPDATE RETURNING clause in postgres

我正在使用一个postgreSQL数据库,它有一个“公司”表和一个“国家”表,每个表都有一个唯一ID。

我想要一个设置,如果我尝试将公司添加到数据库,它只会将公司添加到具有新唯一ID的数据库(如果它尚不存在)。

如果有人能够对此有所了解,我会非常感激,

詹姆斯

1 个答案:

答案 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?