Junior — Middle
Kako pokrenuti novu transakciju u sistemu za upravljanje bazom podataka?
sobes.tech АИ
Одговор од АИ
U Go-u, za rad sa transakcijama u bazama podataka, obično se koristi paket database/sql. Za iniciranje nove transakcije, poziva se metoda Begin() na objektu *sql.DB. Ova metoda vraća objekat *sql.Tx, koji predstavlja transakciju. Nakon toga, pomoću metoda Commit() ili Rollback(), može se potvrditi ili otkazati transakcija.
Primer:
import (
"database/sql"
_ "github.com/lib/pq" // drajver za PostgreSQL
)
func primer(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Izvršavanje operacija u okviru transakcije
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // otkazivanje transakcije u slučaju greške
return err
}
return tx.Commit() // potvrda transakcije
}