Thread: Ignore unique violations?
Is there any easy way of ignoring unique violations? I have a table (a integer, b integer, unique (a,b) ) and want to insert pairs of values for a and b, but I do not want to first select to see if there is a pair before inserting. So can I make postgres ignore any error or exception? The inserts are placed inside of a transaction and I really don't want any silly error to abort it.
am Thu, dem 27.03.2008, um 9:45:33 +0000 mailte A B folgendes: > Is there any easy way of ignoring unique violations? > I have a table (a integer, b integer, unique (a,b) ) and want to > insert pairs of values for a and b, but I do not want to first select > to see if there is a pair before inserting. > So can I make postgres ignore any error or exception? I hope this link can help you: http://andreas.scherbaum.la/blog/archives/11-Avoid-Unique-Key-violation.html Regards, Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
On Thu, Mar 27, 2008 at 2:52 AM, A. Kretschmer <andreas.kretschmer@schollglas.com> wrote: > am Thu, dem 27.03.2008, um 9:45:33 +0000 mailte A B folgendes: > > > Is there any easy way of ignoring unique violations? > > I have a table (a integer, b integer, unique (a,b) ) and want to > > insert pairs of values for a and b, but I do not want to first select > > to see if there is a pair before inserting. > > So can I make postgres ignore any error or exception? > > I hope this link can help you: > http://andreas.scherbaum.la/blog/archives/11-Avoid-Unique-Key-violation.html > > Here is different syntax for the same solution. INSERT INTO Table ( a, b ) SELECT T1.a, T1.b FROM ( VALUES( 1, 2 )) AS T1( a, b ) LEFT OUTER JOIN Table AS T2 ON ( T1.a, T1.b ) = ( T2.a, T2.b ) WHERE ( T2.a, T2.b ) IN NULL; -- Regards, Richard Broersma Jr.