Sobes.tech
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.