Sobes.tech
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.