Maison > Article > base de données > Quand une transaction n'est-elle pas automatiquement annulée dans SQL ?
Annulation automatique des transactions
La question tourne autour du comportement des transactions lorsqu'une erreur se produit dans un bloc d'instructions SQL entouré de START TRANSACTION et ENGAGER LA TRANSACTION. L'OP remarque que lorsqu'une erreur de syntaxe est rencontrée avant l'instruction COMMIT TRANSACTION, la transaction est automatiquement annulée.
Mécanisme d'annulation de transaction
Non, les transactions ne sont pas annulées revenir immédiatement après avoir rencontré une erreur. Cependant, certaines applications clientes peuvent adopter des politiques spécifiques pour la gestion des erreurs.
Par exemple, dans le client de ligne de commande mysql :
Personnalisation de la politique de restauration
Lorsque vous créez vos propres applications, vous contrôlez les politiques d'annulation des transactions. Cependant, notez qu'il existe des exceptions où une restauration est appliquée :
Pour tous les autres scénarios, si une erreur est rencontrée lors d'une transaction , l'erreur est renvoyée et le développeur a le choix de valider ou d'abandonner la transaction.
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!