[Mysql] Reiniciar el campo Autoincrement
En algunas ocaciones el eliminar registros de una tabla y mas si tiene en su llave primaria la propiedad de AutoNumerica, nos crea vacios muy grandes y no podemos llevar una secuencia de los datos.
Existe una forma de llenar esos vacios en Mysql:
ATENCION: Para ejecutar la consulta reemplazar el dato [tabla] por la tabla a la que desean aplicar el cambio.
Ejemplo de uso:
En primera si tienes un campo autonumerico y quieres reiniciarlo, cuando aun esten los datos, por ejemplo si tienes una tabla llamada "personas" con 4 registros y 3 campos:
autoincrement, nombre, edad
1, pepito, 18
2, juanito, 12
3, dianita, 22
4, adrianita, 21
puedes usar el codigo:
ALTER TABLE personas AUTO_INCREMENT=1
Pero si no borraste ningun campo, MySQL detectara que ya hay un registro con el numero 1 y con el 2 y con el 3 y con el 4, y el siguiente registro en insertar lo pndra con el numero 5,
5, gonzalito, 6
y automaticamente se pondra el valor autoincrement en 6 esperando asignarselo al siguiente registro.
Si lo que quieres es un folio autoincrement y poderlo reiniciar tendras que hacerlo con una tabla externa, por ejemplo una tabla "folios" donde tenga un autoincrement, un campo que te haga identificar a la persona que se registro puede ser la fecha con horas minutos y segundos.
Por ejemplo al registrar a alguien lo registras en esa tabla folios se le genera su numero, y obviamente guardando el dato de la fecha con todo y segundos para poderlo puscar posteriormente de guardarlo en la tabla folios y asi leer que numero se le asigno a esa persona y ya ese numero es el que le insertas en la tabla de personas...
quiza te revolviste mas...
el punto es que no podras reiniciar folios a un numero el cual ya este registrado...
Existe una forma de llenar esos vacios en Mysql:
ALTER TABLE [tabla] AUTO_INCREMENT=1
ATENCION: Para ejecutar la consulta reemplazar el dato [tabla] por la tabla a la que desean aplicar el cambio.
Ejemplo de uso:
En primera si tienes un campo autonumerico y quieres reiniciarlo, cuando aun esten los datos, por ejemplo si tienes una tabla llamada "personas" con 4 registros y 3 campos:
autoincrement, nombre, edad
1, pepito, 18
2, juanito, 12
3, dianita, 22
4, adrianita, 21
puedes usar el codigo:
ALTER TABLE personas AUTO_INCREMENT=1
Pero si no borraste ningun campo, MySQL detectara que ya hay un registro con el numero 1 y con el 2 y con el 3 y con el 4, y el siguiente registro en insertar lo pndra con el numero 5,
5, gonzalito, 6
y automaticamente se pondra el valor autoincrement en 6 esperando asignarselo al siguiente registro.
Si lo que quieres es un folio autoincrement y poderlo reiniciar tendras que hacerlo con una tabla externa, por ejemplo una tabla "folios" donde tenga un autoincrement, un campo que te haga identificar a la persona que se registro puede ser la fecha con horas minutos y segundos.
Por ejemplo al registrar a alguien lo registras en esa tabla folios se le genera su numero, y obviamente guardando el dato de la fecha con todo y segundos para poderlo puscar posteriormente de guardarlo en la tabla folios y asi leer que numero se le asigno a esa persona y ya ese numero es el que le insertas en la tabla de personas...
quiza te revolviste mas...
el punto es que no podras reiniciar folios a un numero el cual ya este registrado...
No hay comentarios: