Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/03/2007, 08:09
javi_bus
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: renumerar registros en base de datos

Con un update lo resuelves. Sería algo así:

UPDATE tabla SET id = id-1 WHERE id < {id que has eliminado}

Pero el autoincrement no se te actualizará por lo que te volverá a hacer un hueco. Puedes optar por no usar el autoincrement haciendo antes de cada inserción una consulta que te de el valor máximo (así insertas el registro con el valor id mayor que el valor máximo que ya tenías).

Pero depende de para qué lo uses no sé si es recomendable hacer esto. Creo que es mejor crear el autoincrement en un campo con un tipo de datos lo suficientemente grande (smallint, int, bigint...) y dejar que el sistema trabaje sin repetir nunca IDs aunque al borrar deje "huecos".

Un saludo