Junior — Middle
Tizimda tranzaktsiyalarni boshqarishni qanday amalga oshirish mumkin?
sobes.tech AI
AIdan javob
Go tilida tranzaksiya boshqaruvi odatda database/sql paketidan Begin(), Commit() va Rollback() metodlari yordamida amalga oshiriladi. Avvalo, db.Begin() orqali tranzaksiya yaratiladi, so'ng kerakli operatsiyalar bajariladi va oxirida tranzaksiya yoki tasdiqlanadi (Commit()), yoki xatolik yuzaga kelganda bekor qilinadi (Rollback()).
Misol:
tx, err := db.Begin()
if err != nil {
// xatolikni ishlash
}
_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
tx.Rollback()
// xatolikni ishlash
}
err = tx.Commit()
if err != nil {
// xatolikni ishlash
}
Bu yondashuv operatsiyalarni atomik qilishni ta'minlaydi va ma'lumotlarning yaxlitligini nazorat qilish imkonini beradi.