Sobes.tech
Junior — Middle

Чӣ гуна идоракунии транзаксияҳоро дар системаи худ татбиқ кардан мумкин аст?

sobes.tech AI

Ҷавоб аз AI

Дар Go одатан идоракунии транзаксияҳо бо истифода аз усулҳои Begin(), Commit() ва Rollback() аз баста database/sql амалӣ мешавад. Аввал транзаксия тавассути 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 {
    // коркарди хато
}

Ин усул кафолат медиҳад, ки амалҳо атомӣ бошанд ва имкон медиҳад, ки мутобиқатии маълумот назорат карда шавад.