3

Possible Duplicate:
Cannot SELECT from UPDATE RETURNING clause in postgres

I am using a PostgreSQL database which has a "company" table and a "country" table which each have a uniqueID.

I want a setup where if I try to add a company to the database, it only adds the company to the database with a new unique ID if it doesn't already exist.

halfer
  • 19,471
  • 17
  • 87
  • 173
Jimmy
  • 11,469
  • 22
  • 92
  • 182

1 Answers1

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);

See also here for a more general solution: Insert, on duplicate update in PostgreSQL?

Community
  • 1
  • 1
a_horse_with_no_name
  • 497,550
  • 91
  • 775
  • 843