Sobes.tech
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.