From: | Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com> |
---|---|
To: | Guillermo Villanueva <guillermovil(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: insert con serial |
Date: | 2011-03-22 12:46:54 |
Message-ID: | AANLkTimcbEy7NN0xFdT=sV++n_wRDbKvB+mkx3Ofc35a@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 22 de marzo de 2011 13:28, Guillermo Villanueva
<guillermovil(at)gmail(dot)com> escribió:
> Buenas, tengo una tabla donde la pk es un serial
> supongamos
> CREATE TABLE t1
> (
> campo1 serial NOT NULL,
> campo2 varchar(20),
> campo3 integer,
> CONSTRAINT t1_pkey PRIMARY KEY (campo1),
> )
> y necesito hacer un insert basado en un select sobre datos de la misma
> tabla....
> intenté:
> insert into t1 (campo2,campo3)
> select campo2,5
> from t1
> where
> campo3 =4;
> pero no funcionó, me da clave duplicada
> cómo hago?
> Desde ya muchas gracias
> Saludos
>
He hecho la prueba y no he tenido problemas:
postgres=# CREATE TABLE t1
postgres-# (
postgres(# campo1 serial NOT NULL,
postgres(# campo2 varchar(20),
postgres(# campo3 integer,
postgres(# CONSTRAINT t1_pkey PRIMARY KEY (campo1)
postgres(# );
NOTICE: CREATE TABLE crearA¡ una secuencia implA-cita A«t1_campo1_seqA» para la
columna serial A«t1.campo1A»
NOTICE: CREATE TABLE / PRIMARY KEY crearA¡ el A-ndice implA-cito A«t1_pkeyA» pa
ra la tabla A«t1A»
CREATE TABLE
postgres=#
postgres=# insert into t1 (campo2,campo3)
postgres-# select campo2,5
postgres-# from t1
postgres-# where
postgres-# campo3 =4;
INSERT 0 0
postgres=# insert into t1(campo2,campo3) values ('pg',4);
INSERT 0 1
postgres=# insert into t1(campo2,campo3) values ('p12g',3);
INSERT 0 1
postgres=#
postgres=# insert into t1 (campo2,campo3)
postgres-# select campo2,5
postgres-# from t1
postgres-# where
postgres-# campo3 =4;
INSERT 0 1
postgres=# select * from t1;
campo1 | campo2 | campo3
--------+--------+--------
1 | pg | 4
2 | p12g | 3
3 | pg | 5
(3 filas)
--
--
Emanuel Calvo
Helpame.com
From | Date | Subject | |
---|---|---|---|
Next Message | Angelo Astorga | 2011-03-22 13:14:06 | log de postgresql !!! |
Previous Message | Guillermo Villanueva | 2011-03-22 12:28:18 | insert con serial |