Sobes.tech
Junior — Middle

Hogyan indíthatunk új tranzakciót az adatbázis-kezelő rendszerben?

sobes.tech MI

Válasz az MI-től

Go-ban az adatbázis tranzakciókkal való munkához általában a database/sql csomagot használják. Egy új tranzakció indításához a *sql.DB objektumon a Begin() metódust hívják. Ez a metódus egy *sql.Tx objektumot ad vissza, amely a tranzakciót reprezentálja. Ezután a Commit() vagy Rollback() metódusokkal megerősítheti vagy visszavonhatja a tranzakciót.

Példa:

import (
    "database/sql"
    _ "github.com/lib/pq" // PostgreSQL driver
)

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

    // Műveletek végrehajtása a tranzakció keretében
    _, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
    if err != nil {
        tx.Rollback() // tranzakció visszavonása hiba esetén
        return err
    }

    return tx.Commit() // tranzakció megerősítése
}