Re: Errors attempting to insert duplicate values - Mailing list pgsql-general

From Ed Loehr
Subject Re: Errors attempting to insert duplicate values
Date
Msg-id 39410356.28E029E@austin.rr.com
Whole thread Raw
In response to Errors attempting to insert duplicate values  ("Bryan White" <bryan@arcamax.com>)
List 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

pgsql-general by date:

Previous
From: Vince Vielhaber
Date:
Subject: Re: UESQLC
Next
From: "Tom Browder"
Date:
Subject: C++ General Interface