Sobes.tech
Junior — Middle

Jak zahájit novou transakci v systému správy databází?

sobes.tech AI

Odpověď od AI

V jazyce Go se pro práci s transakcemi v databázích obvykle používá balíček database/sql. Pro zahájení nové transakce se volá metoda Begin() na objektu *sql.DB. Tato metoda vrací objekt *sql.Tx, který reprezentuje transakci. Poté lze transakci potvrdit nebo zrušit pomocí metod Commit() nebo Rollback().

Příklad:

import (
    "database/sql"
    _ "github.com/lib/pq" // ovladač pro PostgreSQL
)

func příklad(db *sql.DB) error {
    tx, err := db.Begin()
    if err != nil {
        return err
    }

    // Provádění operací v rámci transakce
    _, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
    if err != nil {
        tx.Rollback() // zrušení transakce při chybě
        return err
    }

    return tx.Commit() // potvrzení transakce
}