Junior — Middle
Wie initiiert man eine neue Transaktion im Datenbankverwaltungssystem?
sobes.tech KI
Antwort von AI
In Go wird für die Arbeit mit Transaktionen in Datenbanken in der Regel das Paket database/sql verwendet. Um eine neue Transaktion zu starten, ruft man die Methode Begin() am Objekt *sql.DB auf. Diese Methode gibt ein Objekt *sql.Tx zurück, das die Transaktion repräsentiert. Danach kann man mit den Methoden Commit() oder Rollback() die Transaktion bestätigen oder abbrechen.
Beispiel:
import (
"database/sql"
_ "github.com/lib/pq" // Treiber für PostgreSQL
)
func beispiel(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Operationen im Rahmen der Transaktion ausführen
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // Transaktion bei Fehler abbrechen
return err
}
return tx.Commit() // Transaktion bestätigen
}