mysql

Reiniciar contador de auto incremento en MySQL

Introducción

En MySQL podemos establecer una columna como autoincremento, es decir, que tenga una columna cuyo valor vaya aumentando en 1 automáticamente cada que ingresa un nuevo dato. Esto está genial, porque podemos utilizar esa columna como un identificador.

Todo muy bien hasta aquí, hasta que por alguna u otra razón necesitamos reiniciar ese contador. Ya que por ejemplo puede que tengamos algunos registros eliminados y entonces habrá “huecos” en nuestra tabla.

También puede darse el caso de que hayamos vaciado nuestra tabla y queremos que el contador comience desde 1.

Para ello es que escribo hoy esa entrada, para reiniciar y establecer al valor mínimo permitido el autoincremento.

Comando y explicación

Si no quieres ver el tutorial completo, la consulta es la siguiente:

See the gist on github.

No te preocupes, el contador se pondrá al valor más bajo que tenga tu tabla. Por ejemplo, supongamos que tienes 10 registros de 100 que había (eliminaste 90 aleatoriamente) por lo que la secuencia del contador puede ir así:

1, 20, 21, 26, 31, 35, 36, 37, 38, 41

Tu autoincremento estará en 100, aunque en realidad el valor más grande que tienes es 41. Si insertas un nuevo registro, su valor será 101, no 42.

Lo que logras con esta consulta es resetear el contador al valor más bajo, que en este caso es 41. Y luego, al insertar el siguiente registro, su valor será 42.

Si quieres ver un ejemplo continúa leyendo…

Ejemplo

Para este ejemplo crearé una tabla de prueba llamada “nombres” que sólo tendrá dos columnas: un auto incremento y el nombre. La definición queda así:

See the gist on github.

Ahora voy a insertar algunos valores….

See the gist on github.

Hasta ahora, los datos que tengo son estos:

Voy a eliminar los últimos 2 nombres:

See the gist on github.

Y ahora los datos que existen son los siguientes:

Aquí viene la parte crucial de este experimento. Si inserto un nuevo nombre, su rowid será el 6, aunque yo esperaba que fuera el 4. Vamos a insertarlo entonces:

See the gist on github.

Pero al ver los datos, vemos que efectivamente el id que tomó es el 6:

Ahora eliminaré de nuevo ese nombre, es decir, el que tiene el rowid 6:

See the gist on github.

Y no insertaré un nuevo nombre justo ahora, sino que reiniciaré el contador:

See the gist on github.

Ahora sí insertaré un nuevo nombre, cuyo rowid espero que sea 4:

See the gist on github.

Si selecciono los datos, veré que efectivamente el rowid es 4. Y eso comprueba que este método funciona perfectamente

Eso es todo por hoy

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Compartir
Publicado por
parzibyte

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

5 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

5 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

6 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.