Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/08/2009, 04:09
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Reordenar campo auto_increment

Si creas una tabla nueva con la misma estructura y haces un

insert into nuevatabla (nombrecampo1,nombrecampo2,...)
select nombrecampo1,nombrecampo2,... from tutabla
order by id

(donde id solo aparece en el order by)

obtendras lo que buscas en la nueva tabla.


Pero si lo que quieres es usar un auto_increment para tener un numerador sin saltos te equivocas puesto que cada vez que elimines un registro se te van a producir saltos...

Un auto_increment SOLO te asegura que cada nuevo registro tendrá un valor superior al ultimo ingresado....


Supongamos que tienes

id,....
1,...
2,...
3,...
4,...
5,...
...
1.000.000,...

y eliminas el registro 2, el motor de bases de datos tendria que actualizar 999.998 registros mas todos los que puedan estar referenciados a ese identificador en otras tablas para poder mantener el numerador ordenado y sin saltos cuando a efectos de indetificador no tiene la menor importancia....

Es decir una cosa estetica puede complicar mucho la vida....

Si lo que quieres es un contador de registros puedes forzarlo en el momento de printar el listado, con el leguaje que estes usando, php, jsp, asp... pero será eso un contador no el identifcador...

Quim