En tu tabla hay un campo que utiliza una secuencia, dicho campo es la llave primaria de la tabla. El error al que hace referencia ocurre cuando intenta ingresar un dato a la tabla y el consecutivo de la sencuencia contiene un valor que ya esta ingresado en la tabla, y lo que mencionas es logico, cada vez que intentas hacer un insert fallido, dicho consecutivo se incrementa hasta el punto en el que llega a un valor que no esta ingreado en la tabla, entonces te permite el insert. Aqui lo que ocurre es que o se ingresaron valores a la tabla en el campo id_cat de forma manual (sin utilizar la secuencia), o la secuencia fue "manipulada" y cambiada en su valor.
Por que no usas las funciones currval, nextval, esas te pueden ayudar a ver que es lo que esta pasando. Pero definitivamente el problema es de programacion, aqui no hay error del lado del motor. El 21 de septiembre de 2010 18:07, JESUS ARNULFO ZACARIAS SANTOS < [email protected]> escribió: > Estimados colegas les escribo una situacion un tanto rara y extraña, pero > que me ha sucedido y no se por que. > Tengo una tabla de la siguiente forma > CREATE TABLE esquema1."Catalogo" > ( > "Id_cat" integer NOT NULL DEFAULT > nextval('esquema1."Catalogo_Id_cat_seq"'::regclass), > nombre text, > CONSTRAINT "Id_cat" PRIMARY KEY ("Id_cat") > ) > > y para inserta lo hago de la siguiente manera. > insert into esquema1."Catalogo" (nombre) values('ropa'); > > En el entendido de que "Id_cat" es un serial no hay que ingresarlo, pero da > la casualidad que en la mayoria de las ocasiones lo he hecho asi, pero en > esta ultima vez, me lanza la siguiente leyenda: > ERROR: duplicate key value violates unique constraint "Id_cat" > > me pareccio raro, segui ejecutando varias veces la consulta, y al final si > me inserto y despues de eso ya esta trabajando de manera correcta, nunca se > perdio el serial siguio con la continuidad. > > La cuestion es alguien sabe por que ocurrio y si es asi me volvera a dar > problemas.???? > cabe señalar que tengo varios esquemas y en cada uno de ellos tengo esa > tabla y la realidad es casi no la uso es rara la inserccion a dicha tabla. > > Agradezco de antemano su atencion y ayuda. > > -- ------------------------------------------------------------------ Cordialmente, *Carlos Edward Grajales* Colombia Software Ltda. Calle 18 N No. 3N-24 Ofc.902 Cali - Colombia www.colombiasoftware.net Cel. 312 711 90 38 Tel: (2) 489 79 40
