Transactions mysql

Transactions mysql
Une transaction est une collection simultanée de fonctions pour manipuler des ensembles de données et est réalisée comme s'il s'agissait d'une seule entité de travail. En d'autres termes, une transaction ne peut jamais être accomplie tant que chaque processus particulier ne réussit pas à l'intérieur de l'unité. L'ensemble du processus s'effondrera si une transaction dans le processus se bloque. Plusieurs requêtes SQL sont regroupées dans une unité, et toutes seront exécutées ensemble en partie de sa transaction. Chaque fois qu'une transaction intègre plusieurs mises à jour d'une base de données et que la transaction est engagée, toutes les modifications fonctionnent ou toutes les mises à jour sont inversées chaque fois que l'opération est annulée.

Propriétés de la transaction

Transactions, souvent connues par le terme ACIDE, avoir quatre principales propriétés générales.

  • Atomicité: Cela garantit que toutes les tâches à l'intérieur de l'unité de travail se terminent avec succès; Sinon, juste au point d'échec, le processus est terminé et les processus antérieurs sont restaurés à leur ancien état.
  • Cohérence: Cela signifie que sur un processus suffisamment engagé, la base de données met à jour de manière appropriée.
  • Isolement: Il aide les transactions à travailler entre elles et individuellement et de manière transparente.
  • Durabilité: Cela garantit que dans le cas d'une ventilation du système, le résultat ou la conséquence d'une transaction engagée conserve.

Transactions mysql fonctionnant:

Dans MySQL, les deux termes, commit et rollback sont principalement utilisés uniquement pour les transactions MySQL. Les transactions commencent uniquement par la déclaration de travail et se terminent soit par une déclaration de validation ou une déclaration de retournement. Les instructions SQL comprennent la majorité de la transaction entre les instructions de démarrage et d'arrêt. Une telle série d'événements est indépendamment du langage de programmation spécifique utilisé. Vous allez faire un chemin approprié dans la langue que vous utilisez pour créer l'application. Les instructions SQL ci-dessous peuvent être implémentées à l'aide de la fonctionnalité MySQL Query ().

  • COMMENCER: Démarrez votre processus ou votre transaction en fournissant les instructions de début SQL Work SQL.
  • Ajouter la commande SQL: une ou même plus de instructions SQL telles que sélectionner, insérer, mettre à jour et supprimer respectivement. Confirmez même s'il n'y a pas d'erreur et que tout est conforme à vos attentes.
  • COMMETTRE: L'instruction de validation doit être imposée après une transaction réussie, de sorte que les modifications de toutes les tables associées peuvent prendre pleinement effet.
  • RETOUR EN ARRIERE: Si un dysfonctionnement se produit, il est en effet approprié d'envoyer une instruction de recul pour retourner chaque tableau spécifié dans la transaction vers son ancienne condition.
  • AutoCommit: Par défaut, MySQL applique les modifications en permanence à une base de données. Si AutoCommit est défini sur 1 (standard), chaque requête SQL (qu'elle soit ou non dans une transaction) est supposée être une transaction terminée et engagée jusqu'à ce qu'elle soit terminée par défaut. Pour éviter une validation automatique, définissez AutoCommit sur 0.

Exemple 01: Mode automatique sur:

MySQL fonctionne avec la phase AutoCommit autorisée par défaut. Il garantit que MySQL enregistre les modifications sur le disque pour la créer perpétuellement tant que nous exécutons une requête qui ajuste (modifie) une table. Il n'est pas nécessaire de faire revenir le mouvement. Essayons avec AutoCommit sur le mode. Ouvrez votre shell de ligne de commande MySQL et tapez votre mot de passe pour commencer.

Prenez un exemple d'un «livre» de table qui a été créé dans une base de données «données». En ce moment, nous n'avons pas encore effectué de question.

>> Sélectionner * à partir des données.livre;

Étape 2: Ce processus consiste à mettre à jour le «livre» de la table. Mettons à jour la valeur de la colonne «auteur» où le «nom» d'un livre est «à la maison». Vous pouvez voir que des changements ont été apportés avec succès.

>> Mettre à jour les données.Book set auteur = 'Cristian Steward' où name = 'home';

En ayant un aperçu du tableau mis à jour, nous avons une valeur modifiée de l'auteur où «Nom» est «à la maison».

>> Sélectionner * à partir des données.livre;

Utilisons la commande Rollback pour réintégrer les modifications en ajoutant simplement la requête ci-dessous. Vous pouvez voir que la requête en arrière ne fonctionne pas ici car elle montre que «0 lignes affectées».

>> Rollback;

Vous pouvez même voir la table aussi. Le tableau n'a pas de modifications après l'exécution de l'instruction Rollback jusqu'à présent. Cela signifie que le Rollback ne fonctionne pas lorsque nous avons automatiquement.

>> Sélectionner * à partir des données.livre;

Exemple 02: Mode AutoCommit OFF:

Pour réintégrer les modifications apportées, essayons avec le mode AutoCommit OFF. En utilisant le même exemple de «livre» de table, nous allons effectuer quelques modifications à ce sujet. Nous utiliserons la Déclaration de transaction de démarrage pour désactiver sa phase de communication automatique ou simplement taper la commande ci-dessous pour désactiver AutoCommit.

>> Définir AutoComMit = 0;

Disons que nous avons le même «livre» de table dans notre base de données, et nous devons apporter des modifications à lui. Puis retournez ces modifications aux anciens.

>> Sélectionner * à partir des données.livre;

Si vous n'avez pas désactivé le mode AutoCommit, alors commencez par une requête de transaction de démarrage dans le shell de ligne de commande comme ci-dessous.

>> Démarrer la transaction;

Nous mettrons à jour le même tableau à l'aide de la commande de mise à jour en définissant «l'auteur» comme «Aliana» où le «nom» d'un livre est «rêve». Faites-le en utilisant la commande ci-dessous. Vous verrez que les modifications seront apportées avec succès et efficacement.

>> Mettre à jour les données.Book Set Autho = 'Aliana' où name = 'rêve';

Vérifions si la requête ci-dessus a parfaitement fonctionné et apporté des modifications à la table ou non. Vous pouvez vérifier la table mise à jour en utilisant la commande ci-dessous SELECT comme toujours.

>> Sélectionner * à partir des données.livre;

Vous pouvez voir que la requête a très bien fonctionné, comme indiqué ci-dessous.

Maintenant, c'est un tour de la commande Rollback pour remplir sa fonction. Essayez la commande Rollback dans votre ligne de commande pour faire reculer la récente mise à jour de la table.

>> Rollback;

Vérifions si la requête en arrière a été travaillée car elle devrait fonctionner ou non. Pour cela, vous devez à nouveau vérifier la table «Livre» en utilisant la commande `` SELECT '' comme toujours.

>> Sélectionner * à partir des données.livre;

Vous pouvez voir à partir de la sortie ci-dessous que Rollback a finalement fonctionné. Il a été retourné les modifications apportées par la requête de mise à jour sur ce tableau.

Conclusion:

C'est tout pour les transactions MySQL. J'espère que ce guide vous aidera à effectuer des transactions MySQL commodément.