Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie implementieren wir MySQL-Transaktionen?

WBOY
Freigeben: 2023-09-02 11:53:02
nach vorne
1285 Leute haben es durchsucht

Wie implementieren wir MySQL-Transaktionen?

Wir wissen, dass bei einer Transaktion Anweisungen als Einheit ausgeführt werden. Wenn ein Vorgang innerhalb der Transaktion fehlschlägt, schlägt die gesamte Transaktion fehl und sollte zurückgesetzt werden. Andernfalls werden alle durch die Anweisung vorgenommenen Änderungen in der Datenbank gespeichert. Um Transaktionen zu implementieren, stellt MySQL die folgende Anweisung bereit:

START TRANSACTION

Wie der Name schon sagt, beginnt die Transaktion mit dieser Anweisung. Im Grunde teilt es MySQL mit, dass nachfolgende Anweisungen bis zum Ende der Transaktion als eine einzige Arbeitseinheit behandelt werden sollen.

COMMIT

Die COMMIT-Anweisung schreibt Änderungen an der Datenbank fest. Mit anderen Worten: Wenn eine Transaktion erfolgreich abgeschlossen wird, sollte ein COMMIT-Befehl ausgegeben werden, um die Änderungen an allen beteiligten Tabellen wirksam zu machen.

ROLLBACK

Der ROLLBACK-Befehl macht alle durch die Anweisung vorgenommenen Änderungen rückgängig und versetzt die Datenbank in den vorherigen Zustand zurück, in dem die Transaktion begann.

Beispiel

Das Folgende ist ein Beispiel, das die MySQL-Transaktionsimplementierung zeigt -

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO Marks Values(1, 'Aarav','Maths',50);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Marks Values(2, 'Harshit','Maths',55);
Query OK, 1 row affected (0.00 sec)

mysql> COMMIT;
Query OK, 0 rows affected (0.06 sec)
Nach dem Login kopieren

In diesem Beispiel wird die Transaktion durch die START TRANSACTION-Anweisung gestartet. Führen Sie dann zwei INSERT-Anweisungen aus, gefolgt von einer COMMIT-Anweisung. Die COMMIT-Anweisung speichert die Änderungen in der Datenbank, was aus dem folgenden Ergebnissatz ersichtlich ist, der zeigt, dass die Werte in die Tabelle eingefügt wurden -

mysql> SELECT * FROM Marks;
 +------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
| 1    | Aarav   | Maths   | 50    |
| 2    | Harshit | Maths   | 55    |
+------+---------+---------+-------+
2 rows in set (0.00 sec)

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO Marks Values(1, 'Aarav','History',40);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Marks Values(1, 'Harshit','History',48);
Query OK, 1 row affected (0.00 sec)

mysql> ROLLBACK;
Query OK, 0 rows affected (0.04 sec)
Nach dem Login kopieren

In diesem Beispiel wird die Transaktion durch die START TRANSACTION-Anweisung gestartet . Führen Sie dann zwei INSERT-Anweisungen aus, gefolgt von einer ROLLBACK-Anweisung. Die ROLLBACK-Anweisung macht die an der Datenbank vorgenommenen Änderungen rückgängig, was aus der folgenden Ergebnismenge ersichtlich ist, die zeigt, dass keine neuen Werte in die Tabelle eingefügt wurden -

mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
| 1    | Aarav   | Maths   | 50    |
| 1    | Harshit | Maths   | 55    |
+------+---------+---------+-------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie implementieren wir MySQL-Transaktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage