From: | Klint Gore <kg(at)kgb(dot)une(dot)edu(dot)au> |
---|---|
To: | Mauro Delfino <maurodelfino(at)gmail(dot)com> |
Cc: | Bruno Wolff III <bruno(at)wolff(dot)to>, pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #1698: Different behavior in UNIQUE and DISTINCT |
Date: | 2005-06-14 01:53:58 |
Message-ID: | 42AE38B669.B5F3KG@129.180.47.120 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Mon, 13 Jun 2005 10:12:38 -0300, Mauro Delfino <maurodelfino(at)gmail(dot)com> wrote:
> > > I have the these two tables:
> > > CREATE TABLE table_one
> > > ( field1 VARCHAR(255) );
> > >
> > > CREATE TABLE table_two
> > > ( field1 VARCHAR(255) UNIQUE );
> > >
> > > SELECT DISTINCT field1 FROM table_one;
> > > The query results 500k rows.
> > >
> > > INSERT INTO table_two (field1) (SELECT field1 FROM table_one);
> > > This error occurs:
> > > ERROR: duplicate key violates unique constraint "table_two_field1_key"
> > >
> > > What happened? DISTINC and UNIQUE have different algorithms to determine
> > > when two strings are equal?
Did you forget to put distinct in your insert select? table1.field1 is
not unique so it allows duplicates in table_one.
Try "select field1 from table_one group by field1 having count(*) > 1"
and see if it gives you any results.
If you do get results, then you need to put the distinct into the insert
statement.
INSERT INTO table_two (field1) (SELECT distinct field1 FROM table_one);
klint.
+---------------------------------------+-----------------+
: Klint Gore : "Non rhyming :
: EMail : kg(at)kgb(dot)une(dot)edu(dot)au : slang - the :
: Snail : A.B.R.I. : possibilities :
: Mail University of New England : are useless" :
: Armidale NSW 2351 Australia : L.J.J. :
: Fax : +61 2 6772 5376 : :
+---------------------------------------+-----------------+
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2005-06-14 03:08:17 | Re: BUG #1707: statistics collector starts with stats_start_collector |
Previous Message | Oliver Jowett | 2005-06-13 21:57:01 | Re: BUG #1712: JDBC column precision for bigint is 0 |