En Violacion de Clave aumenta Campo Incremental
Publicado por Andrés (4 intervenciones) el 14/01/2003 18:57:04
El tema es el sig. en una tabla tengo un campo lamado serial que es incremental, y tengo otro campo lamado ID que es clave primaria.
En una aplicacion hecha en Delphi, al intentar grabar un registro con la clave primaria duplicada, me devuelve el error de Violacion de clave y no me inserta nada, Hasta ahi estaria todo correcto, el problema surge que cuando se produce un violacion de clave el campo serial que es incremental se incrementa en uno y en realidad al producirce la violacion de clave no se inserta ningun registro, por consecuencia no es logico que el campo incremental se incremente en uno para la proxima vez que ingrese un registro correcatmente.
Ejemplo.
1)_ Campos 'serial' tipo incremental, campo ID tipo texto y clave primaria.
2)_Supongamos que el ultimo registro en la tabla el campo serial contiene el nro de serie 1, si yo ahora tratara de ingresar un registro duplicado se produce la violacion de clave, no se inserta nada pero erroneamente se me incrementa el campo serial, y si ahora ingresara un registro correctamente se guardaria todo bien solo que el campo serial me salteo el Nro 2, y me puso el Nro 3.
Muchas gracias.
En una aplicacion hecha en Delphi, al intentar grabar un registro con la clave primaria duplicada, me devuelve el error de Violacion de clave y no me inserta nada, Hasta ahi estaria todo correcto, el problema surge que cuando se produce un violacion de clave el campo serial que es incremental se incrementa en uno y en realidad al producirce la violacion de clave no se inserta ningun registro, por consecuencia no es logico que el campo incremental se incremente en uno para la proxima vez que ingrese un registro correcatmente.
Ejemplo.
1)_ Campos 'serial' tipo incremental, campo ID tipo texto y clave primaria.
2)_Supongamos que el ultimo registro en la tabla el campo serial contiene el nro de serie 1, si yo ahora tratara de ingresar un registro duplicado se produce la violacion de clave, no se inserta nada pero erroneamente se me incrementa el campo serial, y si ahora ingresara un registro correctamente se guardaria todo bien solo que el campo serial me salteo el Nro 2, y me puso el Nro 3.
Muchas gracias.
Valora esta pregunta
0