Junior — Middle
Kaip pradėti naują sandorį duomenų bazės valdymo sistemoje?
sobes.tech AI
Atsakymas iš AI
Go kalboje, dirbant su duomenų bazėmis, dažniausiai naudojamas paketas database/sql. Norint pradėti naują transakciją, kviečiama metodas Begin() iš objekto *sql.DB. Šis metodas grąžina objektą *sql.Tx, kuris atstovauja transakciją. Vėliau, naudojant metodus Commit() arba Rollback(), galima patvirtinti arba atšaukti transakciją.
Pavyzdys:
import (
"database/sql"
_ "github.com/lib/pq" // PostgreSQL tvarkyklė
)
func pavyzdys(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Operacijų vykdymas transakcijos metu
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // atšaukti transakciją klaidos atveju
return err
}
return tx.Commit() // patvirtinti transakciją
}