Maison >développement back-end >tutoriel php >Comment commencent et se terminent les transactions MySQLi ?

Comment commencent et se terminent les transactions MySQLi ?

DDD
DDDoriginal
2024-12-07 08:02:13201parcourir

How Do MySQLi Transactions Begin and End?

Transactions dans MySQLi : lancement et résiliation

Question :
Pouvez-vous préciser si les transactions dans MySQLi commencent avec $mysqli->autocommit(FALSE) et conclure avec $mysqli->commit() basé sur l'exemple de code fourni ?

Réponse :
Oui, la compréhension fournie est exacte. Les transactions dans MySQLi démarrent avec la commande $mysqli->autocommit(FALSE) et se terminent avec $mysqli->commit(). Lors d'une transaction, toutes les opérations de base de données sont regroupées en une seule unité.

Explication supplémentaire :

La fonction de validation automatique dans MySQLi contrôle si les requêtes sont automatiquement validées dans la base de données. Lorsqu'elle est définie sur TRUE (valeur par défaut), chaque requête est validée individuellement. En définissant autocommit sur FALSE, vous ouvrez une fenêtre de transaction dans laquelle plusieurs requêtes peuvent être exécutées avant d'être validées en tant qu'unité complète avec $mysqli->commit().

Dans l'exemple de code fourni :

  • L'instruction CREATE TABLE initiale est exécutée sans contrôle de transaction (c'est-à-dire que la validation automatique est toujours VRAI) et est donc validée immédiatement.
  • Les requêtes INSERT INTO suivantes sont exécutées après avoir défini l'autocommit sur FALSE, indiquant qu'elles appartiennent à une transaction.
  • L'instruction DROP TABLE est exécutée après $mysqli->commit() , qui termine la transaction et valide automatiquement l'instruction DROP TABLE.

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