2012-12-16 7 views
1

Можно создать дубликат:
Cannot SELECT from UPDATE RETURNING clause in postgresбазы данных PostgreSQL - вставить только если запись не существует

Я использую базу данных PostgreSQL, который имеет «компания» стол и «страна «таблица, каждая из которых имеет уникальный идентификатор.

Мне нужна настройка, где, если я попытаюсь добавить компанию в базу данных, она добавит компанию в базу данных с новым уникальным идентификатором, если она еще не существует.

Если кто-то может пролить некоторый свет на это, я бы очень признателен,

Джеймс

+0

это уже было предложено/решена – Woot4Moo

ответ

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

Смежные вопросы