Thread

  1. Re: 7.4: serial not working ?

    Oliver Elphick <olly@lfix.co.uk> — 2004-07-08T17:23:01Z

    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).