JumpOffBox
JumpOffBox

Reputation: 783

If a row does not exists insert else don't insert in postgres

I need to check if a row exists or not. If it does not exist, it should be inserted.

This is in postgres and I am trying to insert row through a shell script. When I run the script it does not show error but it does not insert into table even though no matching row is present.

Upvotes: 10

Views: 44011

Answers (1)

Andres Olarte
Andres Olarte

Reputation: 4380

I like the solution they mention here

INSERT INTO table (id, field, field2)
       SELECT 3, 'C', 'Z'
       WHERE NOT EXISTS (SELECT 1 FROM table WHERE id=3);

Upvotes: 28

Related Questions