Sobes.tech
Junior — Middle

Как да реализираме управлението на транзакции в системата?

sobes.tech AI

Отговор от AI

В Go управлението на транзакции обикновено се реализира с помощта на методите Begin(), Commit() и Rollback() от пакета database/sql. Първо се създава транзакция чрез db.Begin(), след това се изпълняват необходимите операции и накрая транзакцията се потвърждава (Commit()) или отменя (Rollback()) в случай на грешка.

Пример:

tx, err := db.Begin()
if err != nil {
    // обработка на грешка
}

_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    // обработка на грешка
}

err = tx.Commit()
if err != nil {
    // обработка на грешка
}

Този подход гарантира атомарността на операциите и позволява контрол върху целостта на данните.