Junior — Middle
Como é que se podem reverter alterações numa única transação?
sobes.tech IA
Resposta da IA
Em Go, geralmente usa-se o pacote database/sql para trabalhar com transações. Para reverter as alterações dentro de uma mesma transação, é necessário chamar o método Rollback() do objeto de transação. Isso geralmente é feito em caso de erro, para cancelar todas as alterações feitas na transação.
Exemplo:
tx, err := db.Begin()
if err != nil {
// tratamento de erro
}
// Execução de operações na transação
_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "John")
if err != nil {
tx.Rollback() // reverter a transação em caso de erro
return err
}
// Se tudo correr bem, confirmar a transação
err = tx.Commit()
if err != nil {
return err
}
Assim, a chamada a tx.Rollback() desfaz todas as alterações feitas na transação atual.