Categorías: Tutoriales

Resetear autoincremento en MySQL

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.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

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.

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

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.

1 mes hace