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.