Maison  >  Article  >  développement back-end  >  À propos de la fonction de transaction PDO

À propos de la fonction de transaction PDO

autoload
autoloadoriginal
2021-03-05 17:37:143115parcourir

Définition : La fonction de transaction PDO n'est pas une fonction supplémentaire de PDO, mais une certaine encapsulation des opérations de transaction initialement supportées par MySQL. Remarque : La réussite de l'exécution de la transaction est déterminée par la prise en charge ou non du moteur de stockage correspondant à MySQL.

1. Examen de la fonction de transaction  : La transaction fait référence à la modification du mécanisme par défaut d'écriture dans la table de données en une seule opération, mais à l'enregistrement de l'opération via le journal des transactions, et enfin à son écriture une opération unique sur la fiche technique.

  • Opération ouverte : start transaction, l'opération d'écriture arrête d'écrire directement dans la table de données, mais est enregistrée dans le journal des transactions

  • Transaction opération : opération d'écriture spécifique, généralement plusieurs étapes et plusieurs instructions

  • Valider la transaction : c'est-à-dire que l'opération de transaction se termine

    Soumission réussie : commit, toutes les transactions le contenu du journal est synchronisé avec la table de données et efface le journal des transactions actuel

    Annulation d'échec : rollback, vide directement le journal des transactions actuel

2.pdo La classe fournit un ensemble de solutions pour implémenter les opérations de transaction

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚

3. Dans les opérations de transaction, il existe un mécanisme , qui n'est pas implémenté dans 回滚点. S'il y en a Si nécessaire, cela peut être réalisé via les PDO paramètresSQL指令

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务
//设置回滚点
$pdo->exec(&#39;savepoint sp1&#39;);

//继续执行事务...

//回滚
$pdo->exec(&#39;rollback to sp1&#39;);

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
?>

Recommandé :

tutoriel php, tutoriel vidéo php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:puzzle triangulaire en phpArticle suivant:puzzle triangulaire en php