| Référence du langage MySQL <<< |
Syntaxe de BEGIN/COMMIT/ROLLBACK | Syntaxe de LOCK TABLES/UNLOCK TABLES >>> |
6.7 Commandes relatives aux verrous et aux transactions 6 Référence du langage MySQL Manuel de Référence MySQL 4.1 : Version Française ->Syntaxe de BEGIN/COMMIT/ROLLBACK . Syntaxe de LOCK TABLES/UNLOCK TABLES . Syntaxe de SET TRANSACTION |
6.7.1 Syntaxe de BEGIN/COMMIT/ROLLBACKPar défaut, MySQL est lancé en mode autocommit . Cela signifie que chaque modification effectué est enregistré immédiatement sur le disque par MySQL. Si vous utilisez des tables supportant les transactions (comme InnoDB , BDB ), vous pouvez configurer MySQL en mode non- autocommit grâce à la commande:
Si vous souhaitez sortir du mode AUTOCOMMIT pour une série d'opérations, vous pouvez utiliser les commandes BEGIN ou BEGIN WORK :
Si vous faites un ROLLBACK après avoir modifié une table non transactionnelle, vous obtiendrez ( ER_WARNING_NOT_COMPLETE_ROLLBACK ) comme message d'alerte. Toutes les tables supportant les transactions seront restaurées, mais aucune des autres tables ne changera. Si vous utilisez BEGIN ou SET AUTOCOMMIT=0 , il est recommandé d'utiliser les "binary log" de MySQL à la place des anciens logs d'update pour les sauvegardes. Les transactions sont stockées dans les logs binaires en un seul bloc, après COMMIT , pour être sû que les transactions qui ont été annulées ne soient pas enregistrées. Le log binaire des mises à jour .Les commandes suivantes déclenchent la fin des transactions (comme si vous aviez utilisé COMMIT avant d'exécuter la commande):
Vous pouvez changer le niveau d'isolation des transactions avec SET TRANSACTION ISOLATION LEVEL ... . Syntaxe de SET TRANSACTION . |
| << | Syntaxe de BEGIN/COMMIT/ROLLBACK | >> |
| Référence du langage MySQL | Commandes relatives aux verrous et aux transactions | Syntaxe de LOCK TABLES/UNLOCK TABLES |