Re: copy into serial field with auto_increment

From: "Oliver Elphick" <olly(at)lfix(dot)co(dot)uk>
To: amoeller(at)infosys(dot)de
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: copy into serial field with auto_increment
Date: 2001-04-19 21:39:07
Message-ID: 200104192139.f3JLd7U23180@linda.lfix.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Andy wrote:
>i've got a textfile of data separated by '|'. One of the fields in my
>table is a serial (auto_increment) field.
>When i import the data with the copy command i get duplicate key error.
>The key is the serial - field.
>I recognized that the copy command doesn't auto_increment the serial
>field. I come from mysql and pushed a 0 into the serial field. But it
>doesn't work. I tested it with an empty field, but it failed to.
>How could i make it work ??

It's not clear to me whether your error is during COPY or afterwards.

If it is during COPY, edit your textfile and assign unique values to
each row.

If it is afterwards, use

SELECT setval('sequence_name', SELECT max(serial_field) FROM table);

to set the sequence value. (You probably have to be running 7.1 to use
a sub-select like that.)

--
Oliver Elphick Oliver(dot)Elphick(at)lfix(dot)co(dot)uk
Isle of Wight http://www.lfix.co.uk/oliver
PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
========================================
"For I am persuaded, that neither death, nor life, nor
angels, nor principalities, nor powers, nor things
present, nor things to come, nor height, nor depth,
nor any other creature, shall be able to separate us
from the love of God, which is in Christ Jesus our
Lord." Romans 8:38,39

Browse pgsql-sql by date

  From Date Subject
Next Message Hans-Jürgen Schönig 2001-04-19 23:29:15 Re: Cursors in plpgsql
Previous Message Mark Stosberg 2001-04-19 19:53:38 Re: function to format floats as money? (removing space padding)