From: | Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net> |
---|---|
To: | JESUS ARNULFO ZACARIAS SANTOS <lsc(dot)jesuszacarias(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Algo raro en una inserccion |
Date: | 2010-09-22 04:13:21 |
Message-ID: | AANLkTinohzqGoyLuptE0Oc9xe8aSg+-EK22n4A9Eg2Tc@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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 <
lsc(dot)jesuszacarias(at)gmail(dot)com> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Mariano Reingart | 2010-09-22 05:16:35 | Re: Documentos PDF |
Previous Message | Horacio Miranda | 2010-09-22 02:36:54 | Re: Documentos PDF |