Middle
რა არის ტრანზაქცია?
sobes.tech AI
პასუხი AI-სგან
გარიგება — ეს ოპერაციების სერიაა, რომელიც ერთ მთლიანობად ხორციელდება. მონაცემთა ბაზების კონტექსტში, გარიგება გარანტიას იძლევა, რომ მისი შიგნით ყველა ოპერაცია წარმატებით დასრულდება ერთად, ან შეცდომის შემთხვევაში, გაუქმდება, რათა სისტემა არ დარჩეს შეუთავსებელ მდგომარეობაში. Go-ში გარიგებები ხშირად გამოიყენება მონაცემთა ბაზებთან database/sql პაკეტის მეშვეობით.
Go-ში გარიგების გამოყენების მაგალითი:
// db — ობიექტი *sql.DB
ctx := context.Background()
tx, err := db.BeginTx(ctx, nil)
if err != nil {
log.Fatal(err)
}
_, err = tx.ExecContext(ctx, "INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
tx.Rollback()
log.Fatal(err)
}
err = tx.Commit()
if err != nil {
log.Fatal(err)
}
აქ, ჩასმის ოპერაციები ხორციელდება გარიგების ფარგლებში, რომელიც ან დადასტურდება, ან გაუქმდება შეცდომის შემთხვევაში.