Sobes.tech
Middle

Wat is een transactie?

sobes.tech AI

Antwoord van AI

Een transactie is een reeks operaties die als één geheel wordt uitgevoerd. In de context van databases garandeert een transactie dat alle operaties binnen de transactie succesvol worden voltooid, of bij een fout worden teruggedraaid, zodat het systeem niet in een inconsistente staat achterblijft. In Go worden transacties vaak gebruikt met databases via het database/sql-pakket.

Voorbeeld van het gebruik van een transactie in Go:

// db — object *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)
}

Hier worden insert-operaties uitgevoerd binnen een transactie, die wordt bevestigd of teruggedraaid bij een fout.