La posibilidad de generar valores automáticos para nuestras claves primarias gracias a la propiedad: AUTO_INCREMENT presente en muchos sistemas gestores de bases de datos modernos, es además de cómodo, seguro para quien lo implementa.
Sin embargo, en caso de borrar todos los datos de una tabla y volver a introducirlos, el valor del campo con AUTO_INCREMENT activado, en lugar de empezar desde 1, seguirá con la cuenta anterior. Esto es un detalle sin mucha importancia en algunos casos, pero que en algunas implementaciones puede dar problemas. Imaginemos una tabla con 10 registros con valores para su clave primaria numérica comprendidos entre 65 y 74. Sería por lo menos raro.
¿Cómo solucionarlo en MySQL? Simplemente deberemos ejecutar:
ALTER TABLE nombre_tabla AUTO_INCREMENT = 1
Y este problema habrá desaparecido. Si queréis optar por rellenar los valores “a mano” siempre os quedará la posibilidad de indicar el valor del campo de forma explícita, aunque sea un valor que se auto incremente.
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Interesante tip.
Pero si vas a borrar todos los datos y querés resetear el autoinc se puede usar la sentencia TRUNCATE.
salU
#totoloco: Borrando uno a uno los registros sufría estos problemas, ¿con TRUNCATE seguro que se pone a 1 el auto_incr?
Exactamente, como dice @totoloco, si haces un TRUNCATE el auto_increment se resetea también, si borras los datos a mano, es más efectivo el TRUNCATE...
@Rodro: En realidad no lo borraba a mano, pero hacía DELETE con condiciones que hacían lo que pensaba que era un TRUNCATE, pero veo que es diferente, gracias por comentarnos la diferencia.
muchas gracias, me sirivo demasiado