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

La table MySQL avec l'identifiant principal AUTO_INCREMENT ne libère pas le numéro après une restauration

Pour des raisons de simultanéité, la valeur d'incrémentation automatique ne peut pas "annuler" avec votre transaction. Si un autre processus avait inséré des enregistrements pendant que votre transaction était en cours, vous risqueriez une collision avec leurs identifiants plus tard.

Par exemple, supposons que votre transaction dans le processus "A" récupère les identifiants 1, 2 et 3. Un autre processus "B" s'exécute et obtient les identifiants 4 et 5. Si l'identité est annulée avec votre transaction et que le processus suivant "C" est nécessaire 5 identifiants, il obtiendrait 1,2,3,4,5 mais 4 et 5 ont déjà été pris par le processus "B".