Junior — Middle
Маалыматтар базасын башкаруу системасында жаңы транзакцияны кантип баштоо керек?
sobes.tech AI
AIден жооп
Go тилинде маалыматтар базасындагы транзакциялар менен иштөө үчүн көбүнчө database/sql пакети колдонулат. Жаңы транзакцияны баштоо үчүн *sql.DB объектисинде Begin() методу чакырылат. Бул метод *sql.Tx объектисин кайтарат, ал транзакцияны көрсөтөт. Андан соң, Commit() же Rollback() методдору аркылуу транзакцияны ырастап же жокко чыгара аласыз.
Мисал:
import (
"database/sql"
_ "github.com/lib/pq" // PostgreSQL драйвери
)
func мисал(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Транзакциянын чегинде операцияларды аткаруу
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // каталарда транзакцияны кайтаруу
return err
}
return tx.Commit() // транзакцияны ырастоо
}