Junior — Middle
Jak zahájit novou transakci v systému správy databází?
sobes.tech AI
Odpověď od AI
V jazyce Go se pro práci s transakcemi v databázích obvykle používá balíček database/sql. Pro zahájení nové transakce se volá metoda Begin() na objektu *sql.DB. Tato metoda vrací objekt *sql.Tx, který reprezentuje transakci. Poté lze transakci potvrdit nebo zrušit pomocí metod Commit() nebo Rollback().
Příklad:
import (
"database/sql"
_ "github.com/lib/pq" // ovladač pro PostgreSQL
)
func příklad(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Provádění operací v rámci transakce
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // zrušení transakce při chybě
return err
}
return tx.Commit() // potvrzení transakce
}