Enjoy A New Student Discount All 55,000 Courses on sale for Only $12.99

Ends in 05h 23m 49s

Restaurar contador de AUTO-INCREMENT

Aunque los expertos reniegan de utilizar como clave campos de AUTO_INCREMENT, lo cierto es que demasiadas veces caemos en la tentación y los usamos. A veces de forma correcta, otras no, pero casi siempre, necesitamos restaurar su contador o renumerar nuestra tabla.Cuando utilizamos campos con la característica de AUTO-INCREMENT, cada vez que añadimos un registro, nuestro contador suma uno, pero cuando borramos, se van quedando los huecos de forma inevitable.

Ese comportamiento que nos va muy bien para trabajar, nos molesta cuando, por ejemplo, terminamos las pruebas y queremos entregar una base de datos limpia. Para dejar todos los números consecutivos, o hacer que el contador empiece en un numero determinado tenemos un comando SQL, pero antes de ponerlo, pensemos una vez mas lo que vamos a hacer; si el campo de auto incremento lo hemos utilizado como clave primaria y hay otras tablas que apuntan con el, cuando hagamos la recompactación, todo eso fallará.

Si nuestro campo de auto incremento se utiliza como clave de acceso, para su recompactación, deberíamos hacer un proceso, en que:

  1. duplicar la tabla actual
  2. vaciar la original
  3. leemos desde la duplicada
    1. grabamos la original
    2. recorremos las enlazadas modificando el indice antiguo por el nuevo
  4. Borrar la tabla duplicada.

Pero si no tenemos esa problemática, con solo un comando solucionamos nuestro problema.

En MySQL:

ALTER TABLE cl_post AUTO_INCREMENT=1

En MSSQL:

DBCC CHECKIDENT (cl_post, RESEED, 1)

Esto nos reordenará la columna de AUTO-INCREMENT y dejara el contador al numero que le indiquemos,siempre que sea mayor al ultimo utilizado, si no, el contador quedará ajustado al último.

Eso significa que si queremos que nuestro contador se inicie en 2000,solo deberíamos hacer:

En MySQL:

ALTER TABLE cl_post AUTO_INCREMENT=1999

En MSSQL:

DBCC CHECKIDENT (cl_post, RESEED, 1999)

Espero que os haya sido útil

Deja un comentario

/*Si te ha gustado el artículo
no dudes en compartirlo*/

Facebook
Twitter
LinkedIn

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies

Ver mi IP

Ver ip de mi máquina
tipo valor
Ip: 18.119.213.235
Proxy: 18.119.213.235
Remote host: ec2-18-119-213-235.us-east-2.compute.amazonaws.com
Remote port: 49804
** 18.119.213.235, 172.69.58.208