auto-commit. Cela signifie que les commandes sont prises en compte et validées lorsqu'elles sont exécutées. Dans ce cas il n'y a pas vraiment de transaction, ou plutôt, chaque transaction commence et se termine au moment où l'on entre une commande.
Sur MySQL, pour désactiver ce mode, il faut entrer la commande :
Exemple 78. Fixer le niveau d'isolation des transactions
set transaction isolation level [read uncommitted | read committed | repeatable read | serializable]
autocommit.
commit, dans le seconde la commande
rollback.
Une opération
commit peut échouer, par exemple si des contraintes ne sont pas vérifiées en sortie de transaction. Dans ce cas, l'ensemble de la transaction est annulée.
create,
alter,
drop) déclenchent automatiquement la validation de la transaction dans laquelle elles sont exécutées. On dit qu'elles fonctionnent en
auto-commit
.
Les commandes DML (
select,
insert,
update,
delete) ne peuvent plus être annulées si elles ont été validées automatiquement par l'exécution d'une commande DDL.
Il est donc important d'éviter d'entrer des commandes DML et DDL dans une même transaction.