Mysql:transactionel
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Commandes MySQL (transactions) |
| Voir aussi | Mysql:GRANT · Mysql:maintenance |
Mysql:transactionel documente le contrôle des transactions sous MySQL/MariaDB (moteur InnoDB — les tables MyISAM ne sont pas transactionnelles) ainsi que le verrouillage explicite de tables.
Transactions (InnoDB)
START TRANSACTION; -- ou BEGIN / BEGIN WORK ... requêtes ... COMMIT; -- valide la transaction ROLLBACK; -- annule la transaction
Points de sauvegarde intermédiaires :
SAVEPOINT nom_point; ROLLBACK TO SAVEPOINT nom_point; RELEASE SAVEPOINT nom_point;
Mode autocommit (activé par défaut : chaque requête est validée immédiatement) :
SET autocommit = 0; -- désactive l'autocommit, requiert un COMMIT/ROLLBACK explicite SET autocommit = 1;
Verrouillage explicite de tables
Alternative aux transactions InnoDB, utilisable aussi sur des moteurs non transactionnels comme MyISAM :
LOCK TABLES nom_table WRITE; ... requêtes ... UNLOCK TABLES;
À ne pas confondre
D'autres commandes d'administration MySQL sont parfois citées à tort à côté des transactions ; elles n'ont pas de lien direct avec le contrôle transactionnel :
GRANT/REVOKE— droits d'accès, voir Mysql:GRANTCHECK TABLE/REPAIR TABLE/OPTIMIZE TABLE/ANALYZE TABLE/CACHE INDEX— maintenance, voir Mysql:maintenance- Sauvegarde d'une base — voir Mysqldump
- Changer le mot de passe d'un utilisateur — voir Mysql:GRANT
Voir aussi
- Mysql:GRANT
- Mysql:maintenance
- Mysql — panorama général MySQL/MariaDB