MySQL -Transaktionen

MySQL -Transaktionen
Eine Transaktion ist eine gleichzeitige Sammlung von Funktionen zum Manipulieren von Datensätzen und wird so ausgeführt, als wäre es eine einzige Arbeit von Arbeiten. Mit anderen Worten kann eine Transaktion niemals durchgeführt werden, bis jeder bestimmte Prozess innerhalb des Geräts erfolgreich ist. Der gesamte Vorgang fällt zusammen, wenn eine Transaktion innerhalb des Prozesses abstürzt. Mehrere SQL -Abfragen werden in eine Einheit eingebettet, und alle werden zusammen als Teil seiner Transaktion ausgeführt. Wenn eine Transaktion mehrere Aktualisierungen einer Datenbank integriert und die Transaktion festgelegt wird, funktionieren alle Änderungen oder alle Aktualisierungen, wenn der Betrieb zurückgerollt wird.

Transaktionseigenschaften

Transaktionen, die häufig durch den Begriff bekannt sind SÄURE, vier Haupteigenschaften haben.

  • Atomizität: Dies garantiert, dass alle Aufgaben innerhalb der Arbeitseinheit erfolgreich erledigt werden. Andernfalls wird der Prozess beendet, und frühere Prozesse werden in ihren alten Zustand wiederhergestellt.
  • Konsistenz: Dies bedeutet, dass die Datenbank bei einem ausreichend festgelegten Prozess angemessen angegeben ist.
  • Isolation: Es hilft Transaktionen, miteinander und individuell und transparent zu arbeiten.
  • Haltbarkeit: Dies stellt sicher.

MySQL -Transaktionen funktionieren:

Innerhalb von MySQL werden die beiden Begriffe, Commit und Rollback hauptsächlich nur für MySQL -Transaktionen verwendet. Die Transaktionen beginnen nur mit Beginn der Arbeitserklärung und enden entweder mit einer Commit -Erklärung oder einer Rollback -Erklärung ab. Die SQL -Anweisungen umfassen den Groß. Eine solche Ereignisserie ist unabhängig von der spezifischen Programmiersprache, die verwendet wird. Sie werden einen geeigneten Weg in jeder Sprache machen, die Sie zum Erstellen der Anwendung verwenden. Die folgenden SQL -Anweisungen können mit der Funktion mySQL query () implementiert werden.

  • START: Beginnen Sie Ihren Prozess oder Ihre Transaktion, indem.
  • SQL -Befehl hinzufügen: Eine oder sogar mehr SQL -Anweisungen wie auswählen, einfügen, aktualisieren bzw. löschen. Bestätigen Sie auch, wenn es keinen Fehler gibt und alles Ihren Erwartungen entspricht.
  • BEGEHEN: Die Commit -Anweisung muss nach Abschluss einer erfolgreichen Transaktion verhängt werden.
  • Rollback: Wenn eine Störung auftritt.
  • Autokommit: Standardmäßig wendet MySQL die Modifikationen dauerhaft auf eine Datenbank an. Wenn das AutoCommit auf 1 (Standard) eingestellt ist, wird angenommen. Um automatisches Commit zu vermeiden, setzen Sie sich automatisch auf 0.

Beispiel 01: AutoCommit -Modus auf:

MySQL arbeitet mit der autokommitischen Phase, die durch Standardeinstellung zulässig ist. Es stellt sicher, dass MySQL die Änderungen auf der Festplatte spart, um sie ständig zu erstellen, solange wir eine Abfrage ausführen, die eine Tabelle anpasst (verändert). Es ist nicht notwendig, den Umzug umzudrehen. Versuchen wir es mit dem AutoCommit im Modus. Öffnen Sie Ihre MySQL-Befehlszeilenschale und geben Sie Ihr Passwort ein, um zu beginnen.

Nehmen Sie ein Beispiel für ein Tabellenbuch, das in einer Datenbank "Daten" erstellt wurde. Im Moment haben wir noch keine Anfrage darauf ausgeführt.

>> aus Daten auswählen.Buch;

Schritt 2: Dieser Vorgang soll die Tabelle 'Buch' aktualisieren. Lassen Sie uns den Wert des Spalten -Autors aktualisieren, bei dem der "Name" eines Buches "Zuhause" ist. Sie können sehen, dass Änderungen erfolgreich vorgenommen wurden.

>> Daten aktualisieren.Book set Author = 'Cristian Steward' wo name = 'home';

Durch einen Blick auf die aktualisierte Tabelle haben wir einen geänderten Wert des Autors, in dem 'Name' 'zu Hause' ist.

>> aus Daten auswählen.Buch;

Verwenden wir den Befehl rollback, um die Änderungen zurückzusetzen, indem Sie einfach die folgende Abfrage hinzufügen. Sie können sehen, dass die Rollback -Abfrage hier nicht funktioniert, da sie zeigt, dass „0 -Zeilen betroffen“ sind.

>> Rollback;

Sie können sogar den Tisch auch sehen. Die Tabelle hat nach der Ausführung der Rollback -Anweisung bisher keine Änderungen erhalten. Dies bedeutet, dass der Rollback nicht funktioniert, wenn wir standardmäßig Autokommit haben.

>> aus Daten auswählen.Buch;

Beispiel 02: AutoCommit -Modus aus:

Um die vorgenommenen Änderungen wiederzuverwenden, versuchen wir es mit dem AutoCommit -Off -Modus. Mit demselben Beispiel des Tabellenbuchs werden wir einige Änderungen daran vornehmen. Wir werden die Erklärung zur Starttransaktion verwenden, um die automatische Phase der Auto-Commit zu deaktivieren oder einfach den folgenden Befehl eingeben, um das AutoCommit auszulegen.

>> autocommit = 0 einstellen;

Nehmen wir an, wir haben das gleiche Tabellenbuch in unserer Datenbank, und wir müssen Änderungen daran vornehmen. Dann wechseln Sie diese Änderungen wieder auf die alten zurück.

>> aus Daten auswählen.Buch;

Wenn Sie den AutoCommit -Modus nicht ausgeschaltet haben, beginnen.

>> Transaktion starten;

Wir werden dieselbe Tabelle mit dem Befehl Update aktualisieren, indem wir den "Autor" als "Aliana" festlegen, in dem der "Name" eines Buches "Traum" ist. Tun Sie es mit dem Befehl unten. Sie werden sehen, dass die Änderungen erfolgreich und effektiv vorgenommen werden.

>> Daten aktualisieren.Buchset AuthO = 'Aliana' wo name = 'tream';

Überprüfen Sie, ob die obige Abfrage perfekt funktioniert und Änderungen an der Tabelle vorgenommen hat oder nicht. Sie können die aktualisierte Tabelle überprüfen, indem Sie den folgenden Befehl unten wie immer verwenden.

>> aus Daten auswählen.Buch;

Sie können sehen, dass die Abfrage hervorragend funktioniert hat, wie unten gezeigt.

Jetzt ist es eine Wende des Rollback -Befehls, um seine Funktion auszuführen. Versuchen Sie den Befehl rollback in Ihrer Befehlszeile, um das aktuelle Update auf die Tabelle zurückzurollen.

>> Rollback;

Überprüfen Sie, ob die Rollback -Abfrage bearbeitet wurde, wie sie funktionieren sollte oder nicht. Dazu müssen Sie das Tabellenbuch "Buch" erneut überprüfen, indem Sie den Befehl "SELECT" wie immer verwenden.

>> aus Daten auswählen.Buch;

Sie können aus der folgenden Ausgabe sehen, dass Rollback endlich funktioniert hat. Es wurde die Änderungen der Update -Abfrage in dieser Tabelle zurückverkehrt.

Abschluss:

Das ist alles für MySQL -Transaktionen. Ich hoffe, dieser Leitfaden hilft Ihnen, MySQL -Transaktionen bequem durchzuführen.