Sobes.tech
Middle

¿Qué es una transacción?

sobes.tech AI

Respuesta de la IA

Una transacción es una secuencia de operaciones que se ejecuta como una unidad. En el contexto de bases de datos, una transacción garantiza que todas las operaciones dentro de ella se completen con éxito juntas, o en caso de error, se reviertan para no dejar el sistema en un estado inconsistente. En Go, las transacciones se utilizan a menudo con bases de datos a través del paquete database/sql.

Ejemplo de uso de transacción en Go:

// db — objeto *sql.DB
ctx := context.Background()
tx, err := db.BeginTx(ctx, nil)
if err != nil {
    log.Fatal(err)
}

_, err = tx.ExecContext(ctx, "INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    log.Fatal(err)
}

err = tx.Commit()
if err != nil {
    log.Fatal(err)
}

Aquí, las operaciones de inserción se realizan dentro de una transacción, que se confirma o revierte en caso de error.