Junior — Middle
Kā var atcelt izmaiņas vienas transakcijas ietvaros?
sobes.tech AI
Atbilde no AI
Go valodā parasti izmanto database/sql paketi, lai strādātu ar transakcijām. Lai atsauktu izmaiņas vienas transakcijas ietvaros, ir jāizsauc Rollback() metode no transakcijas objekta. Parasti tas tiek darīts kļūdas gadījumā, lai atsauktu visas izmaiņas, kas tika veiktas transakcijas laikā.
Piemērs:
trx, err := db.Begin()
if err != nil {
// kļūdas apstrāde
}
// Darbību veikšana transakcijā
_, err = trx.Exec("INSERT INTO users(name) VALUES(?)", "John")
if err != nil {
trx.Rollback() // transakcijas atsaukšana kļūdas gadījumā
return err
}
// Ja viss ir veiksmīgi, apstipriniet transakciju
err = trx.Commit()
if err != nil {
return err
}
Tādējādi, izsaucot trx.Rollback(), tiek atsauktas visas izmaiņas, kas tika veiktas šīs transakcijas ietvaros.