Sobes.tech
Junior — Middle

Wie kann man Änderungen innerhalb einer Transaktion rückgängig machen?

sobes.tech KI

Antwort von AI

In Go wird für die Arbeit mit Transaktionen üblicherweise das Paket database/sql verwendet. Um Änderungen im Rahmen einer Transaktion zurückzusetzen, muss die Methode Rollback() des Transaktionsobjekts aufgerufen werden. Dies geschieht in der Regel im Fehlerfall, um alle Änderungen, die im Rahmen der Transaktion vorgenommen wurden, rückgängig zu machen.

Beispiel:

tx, err := db.Begin()
if err != nil {
    // Fehlerbehandlung
}

// Ausführen von Operationen in der Transaktion
_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "John")
if err != nil {
    tx.Rollback() // Transaktion bei Fehler zurücksetzen
    return err
}

// Wenn alles erfolgreich ist, Transaktion bestätigen
err = tx.Commit()
if err != nil {
    return err
}

Auf diese Weise widerruft der Aufruf tx.Rollback() alle Änderungen, die im Rahmen der aktuellen Transaktion vorgenommen wurden.