Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/07/2008, 12:50
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ayuda con el auto incremento

Si tienes una tabla clientes con un ID autoincremental y borras un registro, y ese id borrado figura como FOREIGN KEY en otra tabla, digamos facturas, por principio:
1. No lo puedes borrar. MySQL no lo permitirá porque existe una dependencia entre las dos tablas.
2. Si lo borras, porque la tabla fue definida con la cláusula ON DELETE CASCADE, ni te preocupes, el acto de borrar uno geeró el borrado de todas las demás.
3. SI el ID figura en otras tablas como FK, pero usas el motor MyISAM de MySQL, deberás eliminar los demás registros de las otras tablas en forma directa. MySAM no controla FK.
4. En cualquier caso NO ES CONVENIENTE usar los valores de los "HUECOS" por: a) continuidad histórica de los clientes ingresados, b) posibles inconsistencias si alguna tabla dentro de la base conserva información del cliente borrado y la clave no se definió como FK (no hay dependencia administrada por MySQL), c) inutilidad del proceso, considerando que para que te faltasen número de clientes deberías tener más de 2.147.483.647 clientes si lo definiste como INTEGER, más de 4.294.967.295 si lo definiste como INTEGER UNSIGNED y más de 18.446.744.073.709.551.615 si lo hiciste como BIGINT UNSIGNED. ¿Para qué quieres llenar los huecos? Es una tarea inútil.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)