Junior — Middle
¿Cómo iniciar una nueva transacción en el sistema de gestión de bases de datos?
sobes.tech AI
Respuesta de la IA
En Go, para trabajar con transacciones en bases de datos, generalmente se utiliza el paquete database/sql. Para iniciar una nueva transacción, se llama al método Begin() en el objeto *sql.DB. Este método devuelve un objeto *sql.Tx, que representa la transacción. Luego, con los métodos Commit() o Rollback(), se puede confirmar o cancelar la transacción.
Ejemplo:
import (
"database/sql"
_ "github.com/lib/pq" // controlador para PostgreSQL
)
func ejemplo(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Realizar operaciones dentro de la transacción
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // cancelar la transacción en caso de error
return err
}
return tx.Commit() // confirmar la transacción
}