On Fri, 2004-07-02 at 11:24, vertigo wrote: > Hello > i upgraded postgresql from 7.3 to 7.4 and noticed that SERIAL > exists but does not working. Example: > My table: > create table1( > id SERIAL, > name VARCHAR(100) > ); > > insert into table1 (name) values('name1'); > ERROR: duplicate key violates unique constraint "table1_pkey" > > Why ? I want to have autoincrementation. I do not know (when i insert > record) what id values should it have. > How can i solve this problem ?
You already have rows in that table, and the sequence is generating a key which already exists. This is not MySQL! To cure this, set the sequence to the highest value in the table and don't insert explicit values for that column: SELECT setval('table1_id_seq', (SELECT MAX(id) FROM table1)); (or something like that). ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend