Banana ayant un ID de 6 est correct - cela fonctionne comme prévu. Tout l'auto-incrémentation vous permet d'insérer de nouvelles lignes dans la table sans connaître l'ID précédent. Fondamentalement, vous permet d'insérer des données sans vous soucier d'écraser l'ID, et vous pouvez être paresseux.
Le mode d'incrémentation automatique fonctionne avec un compteur qui augmente pour chaque ligne insérée. Lorsque vous supprimez des lignes, le compteur ne change pas.
Je pense que ce que vous attendez, c'est que la base de données se déplace automatiquement vers le bas des lignes pour remplir les ID manquants. Bien que cela puisse être vrai dans une structure de données de liste chaînée, ce n'est pas le cas dans ce cas. La seule façon de combler ces lacunes est de le faire manuellement ou d'écrire un script qui comblerait les lacunes ou réorganiserait la table ou les identifiants. Cependant, cela n'est pas vraiment nécessaire, car lorsque vous récupérez les lignes à des fins de balisage, vous pouvez utiliser une liste ordonnée ou une boucle triviale pour gérer cela, et les écarts seraient tout simplement non pertinents.
Y a-t-il une raison particulière pour laquelle vous n'avez besoin d'aucun espace dans la séquence? – Randy