Sobes.tech
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 {
    // შეცდომის დამუშავება
}

ეს მიდგომა გარანტიას იძლევა ოპერაციების ატომურობის და მონაცემთა მთლიანობის კონტროლისთვის.