Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Reindexar el índice

Estas en el tema de Reindexar el índice en el foro de Mysql en Foros del Web. Hola, he estado haciendo muchas pruebas en una tabla de la base de datos y metiendo muchos datos. Ahora ya he borrado todos los datos ...
  #1 (permalink)  
Antiguo 18/12/2012, 13:40
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 16 años, 10 meses
Puntos: 5
Reindexar el índice

Hola, he estado haciendo muchas pruebas en una tabla de la base de datos y metiendo muchos datos. Ahora ya he borrado todos los datos que contiene. Pero ahora al meter un nuevo registro el campo id (que es autonumérico) me asigna un número muy alto por defecto (por ejemplo 735), y el siguiente que mete le asigna el 736 y así sucesivamente. ¿Cómo puedo compactar o reindexar el indice de un campo autonumérico para que empiece desde el 1?

Gracias
  #2 (permalink)  
Antiguo 18/12/2012, 14:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Reindexar el índice

Borrar los datos las tablas con DELETE no reinicia los autoincrementales. No lo hace por seguridad, precisamente porque un DELETE supone que en algún momento se hizo un backup o copia de los datos para ser almacenado en alguna parte. Entonces, si se reiniciaran los AI, como mayormente se usan de PK, terminarías pisando valores en los siguientes backups.
Es un problema de consistencia histórica.
¿Se entiende?
Por política, jamás se borran los datos de una base, sino que se desactivan.
Ahora bien, si lo que quieres es una base "limpia" de datos, porque jamás vas a volver a usar esos datos anteriores, lo que corresponde es truncar las tablas.
Eso se hace con:
Código MySQL:
Ver original
  1. TRUNCATE TABLE nombreTabla;
Esto funciona con tablas InnoDB, pero no con las MyISAM. Con las segundas lo que corresponde es usar ALTER TABLE:
Código MySQL:
Ver original
  1. ALTER TABLE nombreTabla AUTO_INCREMENT =1;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/12/2012, 03:57
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 16 años, 10 meses
Puntos: 5
Respuesta: Reindexar el índice

Muchas gracias. Me fue muy útil.

Etiquetas: tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:13.