Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/09/2008, 08:49
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: auto_increment

CrepitantE,

yo te pregunto, y eso ¿para qué?
¿para hacer listados con los elementos numerados? Eso lo conseguirás fácilmente con programación (incluso puede hacerse con una consulta MySQL).

Lo importante de la clave primaria autoincrement es que es única y está indexada. Y para eso da igual que sea el 3 que el 4. Hay otros modos de hacer claves primarias (con texto o números específicos, por ej. el DNI de alguien o número de afiliación a la Seguridad Social). Tampoco hay una relación especial entre el 3 y el animal de la lista. Por lo demás, podrás numerar los elementos de una relación sacada de la base con programación; incluso alguna consulta SQL te permite hacerlo, sin necesidad de estar alterando el autoincrement.
En cuanto a lo de restablecer el id mediante un bucle, me parece una locura; ahora con pocos datos tal vez lo veas bien, pero con más datos verás que todo se ralentiza. Te expondré una situación parecida en la que me encuentro. Yo tengo una tabla con 6500 referencias que necesito reordenar cada vez que se cambia otro dato, concretamente cuando cambia el nombre; hago un truncate tabla cada vez que se cambia el campo alfabético; pues bien eso ralentiza todo muchísimo y resulta exasperante tener que esperar esos segundos; y eso por no hablarte del riesgo de inconsistencia y errores en las relaciones que pudieran producirse. Además, en una tabla MyIsam podrías hacerlo, pero no creo que se te permitiera en una tabla InnoDB.

Última edición por jurena; 15/09/2008 a las 08:54