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() // потвърждаване на транзакцията
}