81 votes

MySQL AUTO_INCREMENT ne rollback pas

J’utilise le champ AUTO_INCREMENT de MySQL et InnoDB pour prendre en charge les transactions. J’ai remarqué que lorsque j’annule la transaction, le champ AUTO_INCREMENT n’est pas restauré ? J’ai découvert qu’il a été conçu de cette façon, mais y a-t-il des solutions de contournement à cela?

14voto

J’avais un client qui avait besoin de l’ID pour revenir en arrière sur une table de factures, où la commande doit être consécutive

Ma solution dans MySQL a été de supprimer l’AUTO-INCREMENT et d’extraire le dernier ID de la table, d’en ajouter un (+1), puis de l’insérer manuellement.

Si la table est nommée « TableA » et que la colonne d’incrémentation automatique est « Id »

11voto

Paul Lefebvre Points 3624

Pourquoi vous souciez-vous s’il est annulé? AUTO_INCREMENT champs clés ne sont pas censés avoir de sens, vous ne devriez donc vraiment pas vous soucier de la valeur utilisée.

Si vous avez des informations que vous essayez de préserver, peut-être qu’une autre colonne non clé est nécessaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X