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

Re: Algo raro en una inserccion

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 (view raw or flat)
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

In response to

pgsql-es-ayuda by date

Next:From: Mariano ReingartDate: 2010-09-22 05:16:35
Subject: Re: Documentos PDF
Previous:From: Horacio MirandaDate: 2010-09-22 02:36:54
Subject: Re: Documentos PDF

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