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

Jim*_*mmy 2 sql database postgresql

可能重复:
无法从postgres中的UPDATE RETURNING子句中选择

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

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

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

詹姆士

a_h*_*ame 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);
Run Code Online (Sandbox Code Playgroud)

另请参见此处获取更一般的解决方案:插入,在PostgreSQL中重复更新?