Maison >base de données >tutoriel mysql >Transactions SQL : garantir l'intégrité et la cohérence des données
Une transaction en SQL est une séquence d'une ou plusieurs opérations SQL exécutées comme une unité de travail unique et logique. Les transactions garantissent la cohérence, l'intégrité et la fiabilité des données au sein d'une base de données, même en cas de pannes ou d'erreurs du système. Ils suivent les Propriétés ACID pour maintenir la stabilité de la base de données.
Atomicité :
Garantit que toutes les opérations au sein d’une transaction sont terminées avec succès. Si une opération échoue, l'intégralité de la transaction est restaurée à son état initial.
Cohérence :
Garantit que la base de données passe d’un état valide à un autre. Les transactions doivent respecter toutes les règles définies, telles que les contraintes et les déclencheurs.
Isolement :
Garantit que plusieurs transactions se produisant simultanément n’interfèrent pas les unes avec les autres. Chaque transaction fonctionne comme si elle était la seule du système.
Durabilité :
Garantit qu'une fois qu'une transaction est validée, ses modifications sont permanentes, même en cas de panne du système.
BEGIN TRANSACTION;
COMMIT;
ROLLBACK;
SAVEPOINT SavePointName;
ROLLBACK TO SavePointName;
BEGIN TRANSACTION; -- Deduct from Account A UPDATE Accounts SET Balance = Balance - 100 WHERE AccountID = 1; -- Add to Account B UPDATE Accounts SET Balance = Balance + 100 WHERE AccountID = 2; -- Check for errors and commit the transaction IF @@ERROR = 0 COMMIT; ELSE ROLLBACK;
Les transactions peuvent être imbriquées, mais seul le COMMIT le plus externe finalisera les modifications. Cependant, chaque ROLLBACK affecte toute la hiérarchie des transactions.
BEGIN TRANSACTION;
COMMIT;
ROLLBACK;
Isolement :
Les transactions n’interfèrent pas les unes avec les autres. Les niveaux d'isolement comprennent :
Durabilité :
Une fois validés, les changements sont permanents. Un COMMIT garantit que les données sont enregistrées, même en cas de crash.
Les transactions sont la pierre angulaire des systèmes de bases de données, garantissant la fiabilité, la cohérence et l'exactitude des données dans les opérations critiques.
Bonjour, je m'appelle Abhay Singh Kathayat !
Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales.
N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.
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!