Cita: Por cierto, allí se habla de re-numerar los datos existentes.
Acá pregunta como resetear si los datos ya no existen.
El problema es obviamente el mismo.
Cuando "reseteas", en realidad estás
renumerando, por lo que el problema básico subsiste:
1) Estás regenerando el ordenamiento físico de la tabla.
2) Sólo se puede hacer si:
a. Esa tabla
no está relacionada con ninguna otra (su PK no se usa como FK en
ninguna otra tabla).
b. No existen
datos históricos de los registros originales.
c. La
cantidad de registros es
limitada.
d. Solamente se realiza
como mantenimiento ocasional y no como proceso habitual.
e. La tabla
no integra una base en producción (en uso), o si
el server puede ser detenido por un determinado tiempo.
Fuera de eso, el "reseteo" de campos autoincrementales es, en todo sentido,
una tarea absolutamente innecesaria, que solamente se busca realizar por causas "estéticas". Eso es algo que debe quedar claro.
Cita: Da igual, si tenía 100 registros numerados del 1 al 100, y elimina los datos, al reiniciar el servidor comienza de 1 otra vez (por lo menos con InnoDB). Entonces la pregunta sería ... como prevenirlo, porque igual le va a suceder si resetea el server.
Los autoincrementales vuelven a cero solamente cuando se truncan las tablas. Un ALTER TABLE no funciona si existen datos en la tabla, cuya numeración sea superior a la indicada.
Esto ess así porque el valor del último auto_increment se almacenan en las tablas de esquema de MySQL, y no en la configuración del servidor.