Junior — Middle
Ako začať novú transakciu v systéme správy databáz?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa na prácu s transakciami v databázach zvyčajne používa balíček database/sql. Na začatie novej transakcie sa volá metóda Begin() na objekte *sql.DB. Táto metóda vráti objekt *sql.Tx, ktorý reprezentuje transakciu. Následne je možné transakciu potvrdiť alebo zrušiť pomocou metód Commit() alebo Rollback().
Príklad:
import (
"database/sql"
_ "github.com/lib/pq" // ovládač pre PostgreSQL
)
func príklad(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Vykonanie operácií v rámci transakcie
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // zrušenie transakcie pri chybe
return err
}
return tx.Commit() // potvrdenie transakcie
}