Sobes.tech
Middle

Kas ir darījums?

sobes.tech AI

Atbilde no AI

Transakcija ir operāciju virkne, kas tiek izpildīta kā vienība. Datu bāzu kontekstā, transakcija garantē, ka visas tās iekšienē veiktās operācijas tiks veiksmīgi pabeigtas kopā, vai, kļūdas gadījumā, tiks atceltas, lai sistēma netiktu novesta nekonsekventā stāvoklī. Go valodā transakcijas bieži tiek izmantotas ar datu bāzēm, izmantojot database/sql pakotni.

Piemērs, kā izmantot transakciju Go:

// db — objekts *sql.DB
ctx := context.Background()
tx, err := db.BeginTx(ctx, nil)
if err != nil {
    log.Fatal(err)
}

_, err = tx.ExecContext(ctx, "INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    log.Fatal(err)
}

err = tx.Commit()
if err != nil {
    log.Fatal(err)
}

Šeit, ievietošanas operācijas tiek veiktas transakcijas ietvaros, kas vai nu tiek apstiprinātas, vai atceltas kļūdas gadījumā.