Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/02/2010, 10:38
mar_y_sol
 
Fecha de Ingreso: febrero-2010
Ubicación: Machala
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
tabla en postgres no se auto-incrementa con el BigSerial

Saludos a todos,

Me podrían ayudar con un problema que se me presentó en postgreSQL. Lo que pasa es que tengo una tabla llamada adm_dependencia con la siguiente estructura

CREATE TABLE "prueba."adm_dependencia"(
"dep_codigo" BigSerial NOT NULL,
"dep_nombre" Character varying(150),
"dep_siglas" Character varying(20),
"dep_estado" Character(1),
"tdep_codigo" Bigint NOT NULL
) WITH (OIDS=FALSE);

y la llave primaria es dep_codigo:
ALTER TABLE "prueba"."adm_dependencia" ADD CONSTRAINT pk_adm_dependencia" PRIMARY KEY ("dep_codigo");

Ahora, diseñé una interfaz usando zend framework, para guardar informacion en esa tabla y envío datos en todos los campos excepto el dep_codigo, y me devuelve una inserción con éxito.

Lo que pasa es que la institución necesitaba con urgencia subir información de esta tabla en la base de datos y como a la interfaz le faltaba controlarle algunos requerimientos, lo inserté manualmente via sql de esta forma:

INSERT INTO "prueba"."adm_dependencia" VALUES (1, 'ESCUELA DE INFORMATICA', 'EI', 'A', '4');
INSERT INTO "prueba"."adm_dependencia" VALUES (2, 'ESCUELA DE INGENIERIA CIVIL','EIC', 'P','4');
....
... muchos otros insert

ahora, que ya acabe la interfaz para ponerla a funcionar, me percato que a lo que hago un insert en la tabla, esta me sale el siguiente error:

"SQLSTATE[23505]: Unique violation: 7 ERROR: llave duplicada viola restriccion de unicidad \u00abpk_dependencia\u00bb"

y para asegurarme, fui al phpAdmin e inserte manualmente en la tabla, y me daba el mismo error, es decir no me quiere auto-incrementar el campo dep_codigo; pero si yo hago inserto el id del dep_codigo, ahí si lo hace.

El caso, es que no sé como hacer para que se auto-incremente el campo, creo que la funcion nextval es la que se encarga de controlar la secuencia, pero no funciona.

De antemano, mis agradecimientos.

Última edición por mar_y_sol; 18/02/2010 a las 10:46