salut a tous
voila tout est dans le sujet, je voudrai savoir ce qu’est une transaction
salut a tous
voila tout est dans le sujet, je voudrai savoir ce qu’est une transaction
Une transaction, c’est un ensemble de transactions (SQL généralement) indissociables .
Exemple : Retrait d’argent au distributeur.
==> 2 mises à jour SQL ==> 1 ajout de transaction + 1 mise à jour de ta table de compte.
Les 2 requetes sont indissociables. Il est impératif de faire les 2 et non pas l’une sans l’autre.
Donc on fait une transaction.
Shématiquement, ca fait ca:
beginTransaction()
Ajout entrée transaction
Mise à jour de ton compte
si OK => Commit
sinon rollback des 2 ordres SQL.
endTransaction();
C’est pour garantir un minimum d’intégrité dans les données et accessoirement permettre de passer des ordres SQL sans faire un commit ralentissant à chaque ordre SQL.
Typiquement par exemple, sur du Mysql standard (pour prendre comme exemple le mauvais eleve), à chaque requete, par défaut, il fait un commit donc il peut arriver pour x raisons qu’une de tes 2 transactions ne passent pas et alors tes données ne sont plus cohérentes…
une transaction est un ensemble de une ou plusieurs operations
( creation, modification ou suppression de données dans la base )
se terminant par une validation ( commit )
ou une annulation ( rollback )
Tout simplement
(et dans le cas du retrait d’argent, on aimerait bien qu’il y a ait une transaction failure au niveau de la mise à jour du compte, et que cela continue… rêve de mySQL sur le distributeur du coin)