Junior — Middle
Jak zainicjować nową transakcję w systemie zarządzania bazą danych?
sobes.tech AI
Odpowiedź od AI
W Go, do pracy z transakcjami w bazach danych zazwyczaj używa się pakietu database/sql. Aby zainicjować nową transakcję, wywołuje się metodę Begin() na obiekcie *sql.DB. Ta metoda zwraca obiekt *sql.Tx, który reprezentuje transakcję. Następnie, za pomocą metod Commit() lub Rollback(), można zatwierdzić lub anulować transakcję.
Przykład:
import (
"database/sql"
_ "github.com/lib/pq" // sterownik dla PostgreSQL
)
func przykład(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Wykonanie operacji w ramach transakcji
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // wycofanie transakcji w przypadku błędu
return err
}
return tx.Commit() // zatwierdzenie transakcji
}