Detaillierte Erläuterung der Methode zur Implementierung der MySQL-Transaktionsverarbeitung in PHP

怪我咯
Freigeben: 2023-03-13 19:16:02
Original
2701 Leute haben es durchsucht

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 löschen und auch die mit der Person verbundenen Informationen wie Postfach, Artikel usw. löschen. Auf diese Weise werden diese DatenbankoperationenDie Anweisung stellt 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 alle oder gar nicht ausgeführt werden.

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 sind nicht kompatibel. Die Option innodb_flush_log_at_trx_commit bestimmt, wann Transaktionen im Protokoll gespeichert werden.

Der Programmcode für die Implementierung der PHP-MySQL-Transaktionsverarbeitung lautet wie folgt:

Der Code lautet wie folgt:

<?PHP 
$LinkID =mysql_connect(&#39;localhost:3307&#39;,&#39;root&#39;,*******); 
mysql_select_db(&#39;web_his&#39;,$LinkID); 
mysql_query("set names utf8"); 
 
/* 创建事务 */ 
mysql_query(&#39;START TRANSACTION&#39;) or exit(mysql_error()); 
$ssql1="insert into pf_item values(&#39;22&#39;,&#39;我们&#39;,&#39;30&#39;)";  //执行sql 1 
if(!mysql_query($ssql1)){ 
   echo $ssql1.mysql_errno().":".mysql_error()."<br>"; 
   mysql_query(&#39;ROLLBACK&#39;) or exit(mysql_error());//判断当执行失败时回滚 
   exit; 
} 
$ssql1="insert into pf_item values(&#39;21&#39;,&#39;hell&#39;,&#39;10&#39;)";  //执行sql 2 
if(!mysql_query($ssql1)){
  echo $ssql1.mysql_errno().":".mysql_error()."<br>"; 
     mysql_query(&#39;ROLLBACK&#39;) or exit(mysql_error());//判断当执行失败时回滚 
   exit; 
} 
 
mysql_query(&#39;COMMIT&#39;) or exit(mysql_error());//执行事务 
 
mysql_close($LinkID); 
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Methode zur Implementierung der MySQL-Transaktionsverarbeitung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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