Junior — Middle
Cum se pot anula modificările în cadrul unei singure tranzacții?
sobes.tech AI
Răspuns de la AI
În Go, pentru lucrul cu tranzacțiile, de obicei se folosește pachetul database/sql. Pentru a anula modificările în cadrul unei tranzacții, trebuie să apelați metoda Rollback() a obiectului de tranzacție. Acest lucru se face de obicei în caz de eroare, pentru a anula toate modificările făcute în cadrul tranzacției.
Exemplu:
trx, err := db.Begin()
if err != nil {
// tratarea erorii
}
// Executarea operațiilor în tranzacție
_, err = trx.Exec("INSERT INTO users(name) VALUES(?)", "John")
if err != nil {
trx.Rollback() // anularea tranzacției în caz de eroare
return err
}
// Dacă totul a decurs cu succes, confirmați tranzacția
err = trx.Commit()
if err != nil {
return err
}
Astfel, apelul trx.Rollback() anulează toate modificările făcute în cadrul tranzacției curente.