Utilisation :
ALTER TABLE [your table name here] AUTO_INCREMENT = 1
... réinitialisera la valeur auto_increment pour qu'elle soit la suivante en fonction de la valeur existante la plus élevée existant dans la table. Cela signifie qu'il ne peut pas être utilisé pour corriger des écarts de plus d'un.
La seule raison de le faire serait pour les cosmétiques - la base de données ne se soucie pas de savoir si les enregistrements sont séquentiels, seulement qu'ils se rapportent les uns aux autres de manière cohérente. Il n'est pas nécessaire de "corriger" les valeurs pour le bien de la base de données.
Si vous affichez le id
valeurs à l'utilisateur, c'est pourquoi vous voudriez qu'elles soient toujours séquentielles, alors je recommanderais d'ajouter une clé de substitution. Utilisez la clé de substitution pour l'affichage à l'utilisateur, afin que les valeurs puissent être re-séquencées selon les besoins, mais l'intégrité référentielle n'est par ailleurs pas affectée. La clé de substitution dans ce cas serait une colonne entière.