Thread: copy into serial field with auto_increment

copy into serial field with auto_increment

From
Andy
Date:
Hello,

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 ??

Thanx for every help

--
Andy - Kim Möller
Leiter Lastminute / Pauschal - Deutschland ypsilon.net AG
Leiter Entwicklungsabteilung Lastminute / Pauschal / Mietwagen -
Deutschland ypsilon.net AG

Tel.: (06109) - 50 50
FAX : (06109) - 50 525
eMail : amoeller@infosys.de


Attachment

Re: copy into serial field with auto_increment

From
"Oliver Elphick"
Date:
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
recognizedthat the copy command doesn't auto_increment the serial >field. I come from mysql and pushed a 0 into the
serialfield. 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.Elphick@lfix.co.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