Sobes.tech
Junior — Middle

Ako implementovať správu transakcií v systéme?

sobes.tech AI

Odpoveď od AI

V Go je riadenie transakcií zvyčajne implementované pomocou metód Begin(), Commit() a Rollback() z balíka database/sql. Najskôr sa vytvorí transakcia pomocou db.Begin(), potom sa vykonajú potrebné operácie a na konci sa transakcia buď potvrdí (Commit()), alebo zruší (Rollback()) v prípade chyby.

Príklad:

tx, err := db.Begin()
if err != nil {
    // spracovanie chyby
}

_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    // spracovanie chyby
}

err = tx.Commit()
if err != nil {
    // spracovanie chyby
}

Tento prístup garantuje atomickosť operácií a umožňuje kontrolu integrity dát.