Обсуждение: primary key
hello, i have a question about the PRIMARY KEY, how can we let it start from for example 1000 instead of 1? This is our program: CREATE TABLE hy3_pack ( hy3_id serial NOT NULL, hy3_serie_nummer text NOT NULL, hy3_barcode text NOT NULL, hy3_type_vulling text NOT NULL, hy3_tarra_gewicht text, hy3_artikel_id numeric NOT NULL, hy3_refill boolean, vernietigd boolean, opmerking text, CONSTRAINT hy3_pack_pkey PRIMARY KEY (hy3_id) ) WITH ( OIDS=FALSE ); ALTER TABLE hy3_pack OWNER TO postgres; what must i change in my program? Met vriendelijke groeten, Peter Evens BANDIT nv/sa Nijverheidslaan 1547 B-3660 Opglabbeek België Tel. 0032/89/85.85.65 Fax 0032/89/51.85.47 peter@bandit.be
On 14/03/2011 07:57, Peter Evens wrote: > > hello, > > i have a question about the PRIMARY KEY, > how can we let it start from for example 1000 instead of 1? > > This is our program: > CREATE TABLE hy3_pack > ( > hy3_id serial NOT NULL, > hy3_serie_nummer text NOT NULL, > hy3_barcode text NOT NULL, > hy3_type_vulling text NOT NULL, > hy3_tarra_gewicht text, > hy3_artikel_id numeric NOT NULL, > hy3_refill boolean, > vernietigd boolean, > opmerking text, > CONSTRAINT hy3_pack_pkey PRIMARY KEY (hy3_id) > ) > WITH ( > OIDS=FALSE > ); > ALTER TABLE hy3_pack OWNER TO postgres; > > what must i change in my program? After the CREATE TABLE, use setval() to set the current value of the sequence used for hy3_id. http://www.postgresql.org/docs/9.0/static/functions-sequence.html Ray. -- Raymond O'Donnell :: Galway :: Ireland rod@iol.ie
On Monday, March 14, 2011 12:57:07 am Peter Evens wrote:
> hello,
>
> i have a question about the PRIMARY KEY,
> how can we let it start from for example 1000 instead of 1?
>
> This is our program:
> CREATE TABLE hy3_pack
> (
>  hy3_id serial NOT NULL,
>  hy3_serie_nummer text NOT NULL,
>  hy3_barcode text NOT NULL,
>  hy3_type_vulling text NOT NULL,
>  hy3_tarra_gewicht text,
>  hy3_artikel_id numeric NOT NULL,
>  hy3_refill boolean,
>  vernietigd boolean,
>  opmerking text,
>  CONSTRAINT hy3_pack_pkey PRIMARY KEY (hy3_id)
> )
> WITH (
>  OIDS=FALSE
> );
> ALTER TABLE hy3_pack OWNER TO postgres;
>
> what must i change in my program?
>
First do something like below to get the name of the sequence associated with
the serial type:
test(5432)aklaver=>\d serial_test
                         Table "public.serial_test"
 Column |  Type   |                        Modifiers
--------+---------+----------------------------------------------------------
 id     | integer | not null default nextval('serial_test_id_seq'::regclass)
 fld_1  | text    |
Then go here:
http://www.postgresql.org/docs/9.0/interactive/functions-sequence.html
and use one of the setval() functions to set the sequence start to 1000.
Note: This is assuming the table is empty and you will not have any id
collisions.
--
Adrian Klaver
adrian.klaver@gmail.com