Re: Errors attempting to insert duplicate values

Ed Loehr <eloehr@austin.rr.com>

From: Ed Loehr <eloehr@austin.rr.com>
To: Bryan White <bryan@arcamax.com>
Cc: pgsql-general <pgsql-general@postgresql.org>
Date: 2000-06-09T14:46:46Z
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