Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PostgreSQL database - only insert if the record doesn't exist [duplicate]

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.

like image 866
Jimmy Avatar asked Mar 27 '26 05:03

Jimmy


1 Answers

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?


Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!