Explication détaillée de la méthode d'implémentation du traitement des transactions MySQL en PHP

怪我咯
Libérer: 2023-03-13 19:16:02
original
2680 Les gens l'ont consulté

Les transactions MySQL sont principalement utilisées pour traiter des données avec des opérations volumineuses et une grande complexité. Par exemple, dans le système de gestion du personnel, si vous supprimez une personne, vous devez supprimer les informations de base de la personne et également supprimer les informations liées à la personne, telles que la boîte aux lettres, les articles, etc. De cette façon, ces opérations de base de donnéesLe relevé constitue une transaction !

Dans MySQL, seules les bases de données ou les tables utilisant le moteur de base de données Innodb prennent en charge les transactions.

Le traitement des transactions peut être utilisé pour maintenir l'intégrité de la base de données et garantir que les lots d'instructions SQL sont tous exécutés ou ne sont pas exécutés du tout.

Les transactions permettent de gérer les instructions d'insertion, de mise à jour, de suppression.

De manière générale, les transactions doivent remplir quatre conditions (ACID) : Atomicité (atomicité), Cohérence (stabilité), Isolation (Isolation), Durabilité (fiabilité)

1. Atomicité des transactions : un ensemble de transactions soit réussit, soit est retiré.

2. Stabilité : s'il y a des données illégales (contraintes de clé étrangère, etc.), la transaction sera retirée.

3. Isolement : les transactions s'exécutent de manière indépendante. Si le résultat d'une transaction affecte d'autres transactions, les autres transactions seront retirées. L’isolation à 100 % des transactions nécessite de sacrifier la vitesse.

4. Fiabilité : après une panne du logiciel ou du matériel, le pilote de la table de données InnoDB utilisera le fichier journal pour le reconstruire et le modifier. La fiabilité et la vitesse élevée sont incompatibles. L'option innodb_flush_log_at_trx_commit détermine quand enregistrer les transactions dans le journal.

Le code du programme d'implémentation du traitement des transactions php mysql est le suivant :

Le code est le suivant :

<?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); 
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!