En exécutant la commande START TRANSACTION, les utilisateurs peuvent démarrer une nouvelle transaction MySQL. Le comportement de la transaction dépendra du mode SQL AUTOCOMMIT. Le mode par défaut est le mode "AUTOCOMMIT ON", dans lequel chaque instruction MySQL est traitée comme une transaction complète et validée par défaut à la fin. Il peut être démarré en définissant la variable de session AUTOCOMMIT sur 1 comme indiqué ci-dessous -
SET AUTOCOMMIT = 1 mysql> SET AUTOCOMMIT = 1; Query OK, 0 rows affected (0.07 sec)
Si l'utilisateur souhaite modifier ce comportement des transactions MySQL, il peut alors définir le mode SQL "AUTOCOMMIT OFF" dans lequel, la série suivante des instructions MySQL agit comme une transaction et aucune activité n'est validée tant qu'une instruction COMMIT explicite n'a pas été émise. Dans ce mode, la première instruction exécutable d'une nouvelle session démarre implicitement une nouvelle transaction multi-instructions. Il peut être démarré en définissant la variable de session AUTOCOMMIT sur 0 comme indiqué ci-dessous -
SET AUTOCOMMIT = 0 mysql> SET AUTOCOMMIT = 0; Query OK, 0 rows affected (0.00 sec)
Pour les transactions dans InnoDB, n'utilisez pas SET AUTOCOMMIT = 0, utilisez plutôt la commande COMMIT pour valider.
Dans les deux modes SQL, une transaction sera démarrée à l'aide de la commande START TRANSACTION comme suit -
mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec)
En fait, la requête ci-dessus informe MySQL que les instructions suivantes doivent être traitées comme une seule unité de travail jusqu'à la fin de la transaction .
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!