Maison > Article > base de données > Tutoriel d'exemple de transaction MySQL
Transaction MySQL
La transaction MySQL est principalement utilisée 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, ainsi que les informations liées à la personne, telles que la boîte aux lettres, les articles, etc. Les instructions d'opération constituent 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 entièrement exécutés ou Ne pas exécuter toutes les
Les transactions sont utilisées pour gérer les instructions d'insertion, de mise à jour et de suppression.
De manière générale, les transactions doivent remplir quatre conditions (ACID) : Atomicité (atomicité), Cohérence (stabilité) ) , Isolement (isolement), 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 logicielle ou matérielle, le pilote de table de données InnoDB utilisera les fichiers journaux pour reconstruire et modifier. La fiabilité et la vitesse élevée ne peuvent pas être obtenues en même temps. L'option innodb_flush_log_at_trx_commit détermine quand enregistrer les transactions dans le journal.
Utiliser les transactions dans la console Mysql pour fonctionner
1. Démarrer une transaction
start transaction
2. Créer un point de sauvegarde
save point 保存点名称
3. Utiliser
4. Vous pouvez revenir en arrière et soumettre s'il y en a. pas de problème, il suffit de soumettre et de revenir en arrière en cas de problème.
Utilisation des instances de transaction en 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('2')")) { mysql_query("ROOLBACK");//判断当执行失败时回滚 } if(!mysql_query("insert into trans (id) values('4')")) { mysql_query("ROOLBACK");//判断执行失败回滚 } mysql_query("COMMIT");//执行事务 mysql_close($handler); ?
[Recommandations associées]
1. Recommandation spéciale : Téléchargement de la version V0.1 de "php Programmer Toolbox"
2.Tutoriel vidéo en ligne MySQL gratuit
3 Choses sur la conception de bases de données
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!