sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo reutilizar claves primarias eliminadas en mysql?

Usando:

ALTER TABLE [your table name here] AUTO_INCREMENT = 1

... restablecerá el valor de auto_incremento para que sea el siguiente en función del valor más alto existente en la tabla. Eso significa que no se puede usar para corregir espacios de más de uno.

La única razón para hacer esto sería para los cosméticos:a la base de datos no le importa si los registros son secuenciales, solo que se relacionan entre sí de manera consistente. No hay necesidad de "corregir" los valores por el bien de la base de datos.

Si está mostrando el id valores para el usuario, por lo que le gustaría que siempre fueran secuenciales, entonces recomendaría agregar una clave sustituta. Utilice la clave sustituta para mostrársela al usuario, de modo que los valores se puedan volver a secuenciar según sea necesario, pero la integridad referencial no se ve afectada. La clave sustituta en este caso sería una columna entera.