Heim  >  Artikel  >  Datenbank  >  Beispiel-Tutorial für MySQL-Transaktionen

Beispiel-Tutorial für MySQL-Transaktionen

零下一度
零下一度Original
2017-05-15 10:36:051295Durchsuche

MySQL-Transaktion

MySQL-Transaktionen werden hauptsächlich zur Verarbeitung von Daten mit großen Vorgängen und hoher Komplexität verwendet. Wenn Sie beispielsweise im Personalverwaltungssystem eine Person löschen, müssen Sie die grundlegenden Informationen der Person sowie die mit der Person verbundenen Informationen wie Postfächer, Artikel usw. löschen. Auf diese Weise werden diese Datenbanken gelöscht Operationsanweisungen stellen eine Transaktion dar!

In MySQL unterstützen nur Datenbanken oder Tabellen, die die Innodb-Datenbank-Engine verwenden, Transaktionen

Transaktionsverarbeitung kann verwendet werden, um die Integrität der Datenbank aufrechtzuerhalten und sicherzustellen, dass Stapel von SQL-Anweisungen entweder vollständig ausgeführt werden oder Nicht alle ausführen

Transaktionen werden zum Verwalten von Einfüge-, Aktualisierungs- und Löschanweisungen verwendet

Im Allgemeinen müssen Transaktionen vier Bedingungen (ACID) erfüllen: Atomizität (Atomizität), Konsistenz (Stabilität) ) , Isolation (Isolation), Haltbarkeit (Zuverlässigkeit)

1. Atomarität von Transaktionen: Eine Reihe von Transaktionen ist entweder erfolgreich oder wird zurückgezogen.

2. Stabilität: Bei illegalen Daten (Fremdschlüsselbeschränkungen und dergleichen) wird die Transaktion zurückgezogen.

3. Isolation: Transaktionen laufen unabhängig ab. Wenn sich das Ergebnis einer Transaktion auf andere Transaktionen auswirkt, werden die anderen Transaktionen zurückgezogen. Eine 100-prozentige Isolierung von Transaktionen erfordert Einbußen bei der Geschwindigkeit.

4. Zuverlässigkeit: Nach einem Software- oder Hardware-Absturz verwendet der InnoDB-Datentabellentreiber die Protokolldatei, um sie zu rekonstruieren und zu ändern. Zuverlässigkeit und hohe Geschwindigkeit können nicht gleichzeitig erreicht werden. Die Option innodb_flush_log_at_trx_commit bestimmt, wann Transaktionen im Protokoll gespeichert werden.

Verwenden Sie Transaktionen in der MySQL-Konsole, um

zu bedienen 1. Starten Sie eine Transaktion

start transaction

2. Erstellen Sie einen Speicherpunkt

save point 保存点名称

3. Führen Sie einen Vorgang aus

4. Sie können einen Rollback durchführen und absenden, falls vorhanden Kein Problem, einfach abschicken und zurücksetzen, wenn es ein Problem gibt.

Verwendung von Transaktionsinstanzen in PHP

<?php
$handler=mysql_connect("localhost","root","password");
mysql_select_db("task");
mysql_query("SET AUTOCOMMIT=0");//设置为不自动提交,因为MYSQL默认立即执行
mysql_query("BEGIN");//开始事务定义
if(!mysql_query("insert into trans (id) values(&#39;2&#39;)"))
{
mysql_query("ROOLBACK");//判断当执行失败时回滚
}
if(!mysql_query("insert into trans (id) values(&#39;4&#39;)"))
{
mysql_query("ROOLBACK");//判断执行失败回滚
}
mysql_query("COMMIT");//执行事务
mysql_close($handler);
?

[Verwandte Empfehlungen]

1. Besondere Empfehlung: Download der Version „php Programmer Toolbox“ V0.1

2. Kostenloses MySQL-Online-Video-Tutorial

3. Dinge zum Datenbankdesign

Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial für MySQL-Transaktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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