Sobes.tech
Junior — Middle

Чӣ гуна оғоз кардани транзаксияи нав дар системаи идоракунии маълумотҳои асосӣ?

sobes.tech AI

Ҷавоб аз AI

В Go, для работы с транзакциями в базах данных, обычно используется пакет database/sql. Чтобы начать новую транзакцию, вызывается метод Begin() у объекта *sql.DB. Этот метод возвращает объект *sql.Tx, который представляет транзакцию. После этого с помощью методов Commit() или Rollback() можно подтвердить или отменить транзакцию.

Пример:

import (
    "database/sql"
    _ "github.com/lib/pq" // драйвер для PostgreSQL
)

func пример(db *sql.DB) error {
    tx, err := db.Begin()
    if err != nil {
        return err
    }

    // Выполнение операций в рамках транзакции
    _, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
    if err != nil {
        tx.Rollback() // отмена транзакции при ошибке
        return err
    }

    return tx.Commit() // фиксация транзакции
}