Skip site navigation (1) Skip section navigation (2)

Re: empezar serial desde 1000

From: "Carlos Mendez" <lucas1850(at)gmail(dot)com>
To: "Alejandro Chen" <alejandro(dot)py(at)gmail(dot)com>
Cc: "Cesar Erices" <caerices(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: empezar serial desde 1000
Date: 2008-08-19 15:04:00
Message-ID: 4610af1f0808190804h31e6981avc31ae995923ab3e8@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola, gracias a todos por la ayuda,
por fin lo logre y eso gracias a ustedes,

sin embargo me parece muy complicado para algo que deberia ser muy facil de
hacerlo,
por ejemplo deberia bastar algo asi en la deficion de la tabla
CREATE TABLE personas (
   id serial NOT NULL *start=1000*,   -- o algo parecido y no estar
complicando con create sequuence, etc,
   nombre character varying(50) NOT NULL,
   PRIMARY KEY  (id)
 )without oids;

yo estaba buscando una solucion parecida a esa por que creo que la habia o
me estoy confundiendo con mysql? porque creo  que en mysql es asi o
parecido,
existe algo como lo que puse arriba o la solucion que me dieron es la unica?

gracias de antemano por la ayuda,
saludos


El día 19/08/08, Alejandro Chen <alejandro(dot)py(at)gmail(dot)com> escribió:
>
> On Tue, 19 Aug 2008 10:54:28 -0300
> "Carlos Mendez" <lucas1850(at)gmail(dot)com> wrote:
>
> > Hola Cesar, gracias por la respuesta,
> >
> > creo que con un ejemplo lo entendere mejor, si tengo la siguiente tabla,
> > como lo defino para que *el campo id empieze en 1000?*
> >
> > CREATE TABLE personas (
> >   id serial NOT NULL,   //este campo tiene que empezar en 1000 y no en 1
> >   nombre character varying(50) NOT NULL,
> >   PRIMARY KEY  (id)
> > )without oids;
> >
> > porque hice lo me dijeron pero el campo id sigue empezando en 1 y yo
> quiero
> > que el campo id empieze en 1000,
> >
> > gracias por la ayuda,
> > saludos
> >
>
> luego de crear la tabla debes fijarte (viendo el 'notice' o haciendo '\d
> personas') con que nombre se creó la secuencia y puedes utilizar el comando
> 'setval' para que inicie en el número que deseas
>
> Ejemplo:
>
> postgres=# CREATE TABLE personas (
> postgres(#   id serial NOT NULL,   --este campo tiene que empezar en 1000 y
> no en 1
> postgres(#   nombre character varying(50) NOT NULL,
> postgres(#   PRIMARY KEY  (id)
> postgres(# )without oids;
> NOTICE:  CREATE TABLE creará una secuencia implícita «personas_id_seq» para
> la columna serial «personas.id»
> NOTICE:  CREATE TABLE / PRIMARY KEY creará el índice implícito
> «personas_pkey» para la tabla «personas»
> CREATE TABLE
> postgres=# SELECT setval('personas_id_seq', 1000, false);
> setval
> --------
>   1000
> (1 fila)
>
> postgres=# insert into personas (nombre) values('prueba');
> INSERT 0 1
> postgres=# insert into personas (nombre) values('prueba2');
> INSERT 0 1
> postgres=# select * from personas;
> id  | nombre
> ------+---------
> 1000 | prueba
> 1001 | prueba2
> (2 filas)
>
>
> --
>
> Alejandro Chen
>

In response to

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2008-08-19 15:06:33
Subject: Re: empezar serial desde 1000
Previous:From: Alvaro HerreraDate: 2008-08-19 15:00:27
Subject: Re: Re: ?==?iso-8859-1?Q?[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Disminuir ?==?iso-8859-1?Q?Tamaño de BD

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group