Die MySQL-Datenbank -Manager verwendet die Structured Query Language für Verwaltung, Berichterstattung und Aktualisieren von Daten . Beginnend mit Version 4.0 der Software, hat MySQL Transaktionen oder Gruppen von SQL-Anweisungen , dass die Datenbank behandelt, als unteilbare Einheiten unterstützt. Da eine Datenbank besteht aus vielen Tabellen , erschwert Änderungen an mehreren Tischen Angelegenheiten , wenn Probleme auftauchen . Eine halbe abgeschlossen von SQL-Anweisungen gesetzt werden in einer Datenbank mit fehlerhaften Daten führen. Durch die Abwicklung mehrerer Anweisungen in einer einzigen Transaktion , verbessert die MySQL Datenbank-Integrität . Die Transaktion umfasst die Fähigkeit SQL-Anweisungen BEGIN , Commit und Rollback , die dazu dienen, beginnen und enden Transaktionen und führen ähnliche Verwaltungsfunktionen . Anleitung
1
Starten Sie den MySQL -Befehlszeilen-Dienstprogramm .
2
Geben Sie die folgende Anweisung in die Befehlszeile ein und drücken Sie die "Enter" -Taste am Ende der Zeile :
CREATE TABLE trans_test ( f INT) TYPE = InnoDB ;
Diese erstellt die Tabelle " trans_test . "
3
Geben Sie die folgenden Aussagen in die Befehlszeile ein:
BEGININSERT INTO trans_test VALUES ( 1); SAVEPOINT add_5_and_7 ; INTO trans_test VALUES ( 5 ) INSERT ; INSERT INTO trans_test VALUES ( 7); ROLLBACK TO SAVEPOINT add_5_and_7 ; COMMIT ; SELECT * FROM trans_test ;
Wenn die Transaktion abgeschlossen ist, wird MySQL einen einzelnen Datensatz aus der Tabelle trans_test mit dem Feld "f" mit dem Wert "1". die BEGIN-Anweisung weist MySQL an, den Überblick über alle Aussagen, die als eine einzelne Transaktion folgen halten , aber ohne sich die Transaktion in der Datenbank , bis sie die Anweisung COMMIT stößt. Die SAVEPOINT Anweisung markiert einen Platz in der Transaktion und ROLLBACK veranlasst MySQL, alle Anweisungen bis zu dem Punkt durch SAVEPOINT markiert rückgängig zu machen. COMMIT beendet die Transaktion , so dass der Wechsel von der ersten Anweisung "sichtbar" für alle Benutzer in der Datenbank protokolliert . Die erste INSERT -Anweisung wurde nicht durch ROLLBACK rückgängig gemacht , so das Ergebnis wird ein Teil der Datenbank. Die SELECT-Anweisung zeigt die Ergebnisse der Transaktion.