Sobes.tech
Junior — Middle

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

sobes.tech AI

Ҷавоб аз AI

В Go обикновено се използва пакетът database/sql за работа с транзакции. За да отмените промените в рамките на една транзакция, трябва да извикате метода Rollback() на обекта транзакция. Това обикновено се прави при грешка, за да се отменят всички промени, направени в рамките на транзакцията.

Пример:

trx, err := db.Begin()
if err != nil {
    // обработка на грешка
}

// Изпълнение на операции в транзакцията
_, err = trx.Exec("INSERT INTO users(name) VALUES(?)", "John")
if err != nil {
    trx.Rollback() // отменяне на транзакцията при грешка
    return err
}

// Ако всичко е успешно, потвърдете транзакцията
err = trx.Commit()
if err != nil {
    return err
}

По този начин, извикването на trx.Rollback() отменя всички промени, направени в рамките на текущата транзакция.