La fonctionnalité AUTO_INCREMENT
de MySQL attribue automatiquement des clés primaires séquentielles. Cependant, la suppression de lignes ne réinitialise pas toujours le compteur, ce qui entraîne des lacunes dans la séquence. La prochaine ligne insérée pourrait recevoir un identifiant plus élevé que prévu.
La suppression d'une ligne libère sa clé primaire, mais le compteur AUTO_INCREMENT
de MySQL ne rembobine pas automatiquement. Cela continue à partir de la valeur attribuée la plus élevée.
Il est fortement déconseillé de s'appuyer sur AUTO_INCREMENT
pour les clés primaires recyclées. Cela peut entraîner des incohérences dans les données. Les meilleures alternatives incluent :
INSERT
.Si vous devez maintenir la séquence (bien que fortement déconseillé), vous pouvez réinitialiser manuellement le AUTO_INCREMENT
compteur. Ceci est risqué et peut nuire à l'intégrité de la base de données :
TRUNCATE TABLE
pour débarrasser la table.AUTO_INCREMENT
à 1.Bien qu'une séquence AUTO_INCREMENT
continue puisse sembler souhaitable, il est crucial de donner la priorité à l'intégrité des données par le biais de pratiques recommandées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!