Junior — Middle
Жүйеде транзакцияларды башкарууну кантип ишке ашыруу керек?
sobes.tech AI
AIден жооп
Go-да транзакцияларды башкаруу көбінесе database/sql пакетінің Begin(), Commit() және Rollback() әдістері арқылы жүзеге асырылады. Алдымен db.Begin() көмегімен транзакция құрылады, содан кейін қажетті операциялар орындалады, және соңында транзакция немесе расталады (Commit()), немесе қате болған жағдайда қайтарылады (Rollback()).
Мысал:
tx, err := db.Begin()
if err != nil {
// қате өңдеу
}
_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
tx.Rollback()
// қате өңдеу
}
err = tx.Commit()
if err != nil {
// қате өңдеу
}
Бұл тәсіл операциялардың атомдығын қамтамасыз етеді және деректердің тұтастығын бақылауға мүмкіндік береді.