Middle
Qu'est-ce qu'une transaction?
sobes.tech IA
Réponse de l'IA
Une transaction est une séquence d'opérations qui s'exécute comme une seule unité. Dans le contexte des bases de données, une transaction garantit que toutes les opérations qu'elle contient se terminent avec succès ensemble, ou en cas d'erreur, sont annulées pour ne pas laisser le système dans un état incohérent. En Go, les transactions sont souvent utilisées avec des bases de données via le paquet database/sql.
Exemple d'utilisation d'une transaction en Go :
// db — objet *sql.DB
ctx := context.Background()
tx, err := db.BeginTx(ctx, nil)
if err != nil {
log.Fatal(err)
}
_, err = tx.ExecContext(ctx, "INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
tx.Rollback()
log.Fatal(err)
}
err = tx.Commit()
if err != nil {
log.Fatal(err)
}
Ici, les opérations d'insertion sont effectuées dans le cadre d'une transaction, qui est soit validée, soit annulée en cas d'erreur.