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 {
// обработка на грешка
}
Този подход гарантира атомарността на операциите и позволява контрол върху целостта на данните.