3

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

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

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

4

1 回答 1

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

于 2012-12-16T14:47:45.603 回答