Junior — Middle
Jak zaimplementować zarządzanie transakcjami w systemie?
sobes.tech AI
Odpowiedź od AI
W Go zarządzanie transakcjami zwykle realizuje się za pomocą metod Begin(), Commit() i Rollback() z pakietu database/sql. Najpierw tworzona jest transakcja przez db.Begin(), następnie wykonywane są niezbędne operacje, a na końcu transakcja jest zatwierdzana (Commit()) lub wycofywana (Rollback()) w przypadku błędu.
Przykład:
tx, err := db.Begin()
if err != nil {
// obsługa błędu
}
_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
tx.Rollback()
// obsługa błędu
}
err = tx.Commit()
if err != nil {
// obsługa błędu
}
Takie podejście gwarantuje atomowość operacji i pozwala kontrolować integralność danych.