MySQL ouvre les connexions des clients en mode d'auto-validation, par défaut. Lorsque l'auto-validation est activée, MySQL fait une validation après chaque commande SQL, si la commande n'a pas retourné d'erreur.
Si vous n'avez pas de mode d'auto-validation, et que vous fermez une connexion sans valider explicitement vos transactions, alors MySQL annule votre transaction.
Si une erreur est retournée par une commande SQL, le
comportement de la transaction dépend de l'erreur. See
Section 15.16, « Gestion des erreurs InnoDB
».
Les commandes SQL suivantes causent une validation implicite de la transaction courante :
ALTER TABLE
, BEGIN
,
CREATE INDEX
, DROP
DATABASE
, DROP INDEX
,
DROP TABLE
, LOAD MASTER
DATA
, LOCK TABLES
,
RENAME TABLE
, SET
AUTOCOMMIT=1
, START
TRANSACTION
, TRUNCATE
,
UNLOCK TABLES
.
CREATE TABLE
(elle valide uniquement
avant MySQL 4.0.13 et si le log binaire MySQL est utilisé).
La commande CREATE TABLE
de
InnoDB
est traitée comme une seule
transaction. Cela signifie qu'une commande
ROLLBACK
ne va pas annuler la commande
CREATE TABLE
qui a été faite dans la
transaction.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.