Re: Errors attempting to insert duplicate values

From: Ed Loehr <eloehr(at)austin(dot)rr(dot)com>
To: Bryan White <bryan(at)arcamax(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Errors attempting to insert duplicate values
Date: 2000-06-09 14:46:46
Message-ID: 39410356.28E029E@austin.rr.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Bryan White wrote:
>
> I need to insert a record only if it does not
> exist. If it does exists then I do nothing. However I do need to know if
> it was inserted. Its seems most efficient to just attempt the insert and
> look at the result. My only complaint is the log file is littered the error
> messages about attempting to insert a duplicate.

How about something like this?

INSERT INTO foo (id, ...)
SELECT 14, ... <=== literal insert values
FROM foo
WHERE NOT EXISTS (SELECT * FROM foo WHERE id = 14)

It'll insert 1 or 0 records, and it won't try to insert a duplicate...

Regards,
Ed Loehr

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Browder 2000-06-09 14:47:36 C++ General Interface
Previous Message Vince Vielhaber 2000-06-09 14:35:08 Re: UESQLC