Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment gérer la fragmentation de la colonne ID auto_increment dans MySQL

La renumérotation entraînera de la confusion. Les rapports existants feront référence à l'enregistrement 99, et pourtant, si le système renumérote, il peut renuméroter cet enregistrement en 98, maintenant tous les rapports (et les interfaces utilisateur remplies) sont erronés. Une fois que vous avez attribué un identifiant unique, il doit rester fixe.

L'utilisation de champs d'identification pour autre chose qu'une simple numérotation unique va poser problème. Le fait d'exiger qu'il n'y ait "aucune lacune" est tout simplement incompatible avec l'exigence de pouvoir supprimer. Peut-être pourriez-vous marquer les enregistrements comme supprimés plutôt que de les supprimer. Ensuite, il n'y a vraiment pas de lacunes. Supposons que vous produisiez des factures numérotées :vous auriez une facture annulée de valeur nulle avec ce numéro plutôt que de la supprimer.