Sobes.tech
Junior — Middle

Bir əməliyyat çərçivəsində dəyişiklikləri necə geri qaytarmaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, tranzaksiyalarla işləmək üçün adətən database/sql paketi istifadə olunur. Bir tranzaksiya çərçivəsində edilən dəyişiklikləri geri almaq üçün, tranzaksiya obyektinin Rollback() metodunu çağırmaq lazımdır. Bu adətən xəta baş verdikdə, tranzaksiya çərçivəsində edilən bütün dəyişiklikləri ləğv etmək üçün edilir.

Nümunə:

trx, err := db.Begin()
if err != nil {
    // xəta ilə işləmə
}

// Tranzaksiyada əməliyyatların yerinə yetirilməsi
_, err = trx.Exec("INSERT INTO users(name) VALUES(?)", "John")
if err != nil {
    trx.Rollback() // xəta baş verdikdə tranzaksiyanı geri alma
    return err
}

// Əgər hər şey uğurludursa, tranzaksiyanı təsdiqlə
err = trx.Commit()
if err != nil {
    return err
}

Beləliklə, trx.Rollback() çağırışı, cari tranzaksiya çərçivəsində edilən bütün dəyişiklikləri ləğv edir.