Junior — Middle
Come implementare la gestione delle transazioni nel sistema?
sobes.tech AI
Risposta dell'AI
In Go, la gestione delle transazioni viene solitamente implementata utilizzando i metodi Begin(), Commit() e Rollback() del pacchetto database/sql. Prima si crea una transazione tramite db.Begin(), poi si eseguono le operazioni necessarie e, infine, la transazione viene confermata (Commit()) o annullata (Rollback()) in caso di errore.
Esempio:
tx, err := db.Begin()
if err != nil {
// gestione errore
}
_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
tx.Rollback()
// gestione errore
}
err = tx.Commit()
if err != nil {
// gestione errore
}
Questo approccio garantisce l'atomicità delle operazioni e permette di controllare l'integrità dei dati.