Sobes.tech
Junior — Middle

Hoe kunnen wijzigingen binnen één transactie worden teruggedraaid?

sobes.tech AI

Antwoord van AI

In Go wordt meestal het pakket database/sql gebruikt voor het werken met transacties. Om wijzigingen binnen één transactie terug te draaien, moet je de methode Rollback() van het transactieobject aanroepen. Dit wordt meestal gedaan in geval van een fout, om alle wijzigingen die binnen de transactie zijn aangebracht, ongedaan te maken.

Voorbeeld:

tx, err := db.Begin()
if err != nil {
    // foutafhandeling
}

// Uitvoeren van operaties in de transactie
_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "John")
if err != nil {
    tx.Rollback() // transactie terugdraaien bij fout
    return err
}

// Als alles succesvol is, bevestig de transactie
err = tx.Commit()
if err != nil {
    return err
}

Op deze manier annuleert de aanroep tx.Rollback() alle wijzigingen die in de huidige transactie zijn aangebracht.