Junior — Middle
¿Cómo se pueden revertir los cambios dentro de una misma transacción?
sobes.tech AI
Respuesta de la IA
En Go, generalmente se utiliza el paquete database/sql para trabajar con transacciones. Para revertir los cambios dentro de una misma transacción, es necesario llamar al método Rollback() del objeto de transacción. Esto generalmente se hace en caso de error, para cancelar todos los cambios realizados en la transacción.
Ejemplo:
trx, err := db.Begin()
if err != nil {
// manejo del error
}
// Realización de operaciones en la transacción
_, err = trx.Exec("INSERT INTO users(name) VALUES(?)", "John")
if err != nil {
trx.Rollback() // revertir la transacción en caso de error
return err
}
// Si todo es exitoso, confirmar la transacción
err = trx.Commit()
if err != nil {
return err
}
De esta forma, la llamada a trx.Rollback() revierte todos los cambios realizados en la transacción actual.