Sobes.tech
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
}