Junior — Middle
Hogyan indíthatunk új tranzakciót az adatbázis-kezelő rendszerben?
sobes.tech MI
Válasz az MI-től
Go-ban az adatbázis tranzakciókkal való munkához általában a database/sql csomagot használják. Egy új tranzakció indításához a *sql.DB objektumon a Begin() metódust hívják. Ez a metódus egy *sql.Tx objektumot ad vissza, amely a tranzakciót reprezentálja. Ezután a Commit() vagy Rollback() metódusokkal megerősítheti vagy visszavonhatja a tranzakciót.
Példa:
import (
"database/sql"
_ "github.com/lib/pq" // PostgreSQL driver
)
func példa(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Műveletek végrehajtása a tranzakció keretében
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // tranzakció visszavonása hiba esetén
return err
}
return tx.Commit() // tranzakció megerősítése
}