transaction
Une transaction est une série de changements sur une base de données qui doit entièrement réussir ou entièrement échouer.
Par exemple, lorsqu' on transfère de l' argent d'un compte chèque à un compte courant, soit la somme peut tout d' abord être ajoutée au compte courant, puis soustraite du compte chèque, soit d' abord soustraite du compte chèque puis ajoutée au compte courant. Si pour une raison ou une autre une des étapes échoue, l'autre ne doit pas être effectuée.
Une transaction est initiée avec la méthode
DB.
Begin , elle est terminée soit par l' appel de la méthode
DB.
Commit , soit elle échoue par l' appel de la méthode
DB.
Rollback .
Sous
MySQL, les transactions ne peuvent être exécutées qu' avec des tables à transaction sécurisées (transaction safe tables) :
BDB
et
InnoDB
. Les autres types de tables MySQL (
ISAM
,
MyISAM
and
HEAP
) sont mises à jour (commit) instantanément.
PostgreSQL ne gère pas les transactions imbriquées, donc seuls le premier appel à
DB.Begin et le dernier appel à
DB.Commit ou
DB.Rollback sont pris en compte.