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 {
// коркарди хато
}
Ин усул кафолат медиҳад, ки амалҳо атомӣ бошанд ва имкон медиҳад, ки мутобиқатии маълумот назорат карда шавад.