Re: SERIAL type not autoincremented

From: Mike Rylander <miker(at)purplefrog(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: SERIAL type not autoincremented
Date: 2004-07-02 20:32:02
Message-ID: cc4hm8$14d0$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Larry Rosenman wrote:

> teknet(at)poczta(dot)onet(dot)pl wrote:
>> i found the problem:
>>
>>
>>
>> sys=> create table test2(
>> sys(> id serial,
>> sys(> name varchar(10),
>> sys(> primary key(id)
>> sys(> );
>> NOTICE: CREATE TABLE will create implicit sequence "test2_id_seq"
>> for "serial" column "test2.id"
>> NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
>> "test2_pkey" for table "test2"
>> CREATE TABLE
>> sys=> insert into test2 values(1,'myname'); INSERT 18765 1 sys=>
>> insert into test2 (name) values('myname2'); ERROR: duplicate key
>> violates unique constraint "test2_pkey"
>> sys=>
>>
>>
>> Why is it so ?
>>
>>
>>
>> Thanx
>>
>> Michal
>
> Because you didn't let the serial column do it's magic.
>
> Try:
>
> Insert into test2(name) values('myname');
> Insert into test2(name) values('myname2');
>
> That should work.
>
> Always let a serial column pick the number.

Or, if you must specify the column, specify DEFAULT for the value:

INSERT INTO test2 (id,name) values (DEFAULT,'myname3');

>
> LER
>
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Bruno Wolff III 2004-07-02 20:36:23 Re: SERIAL type not autoincremented
Previous Message Larry Rosenman 2004-07-02 20:30:54 Re: SERIAL type not autoincremented