Вопрос: Как использовать `context` в SQL транзакции (`BeginTx`)?
Go
Middle
Без компании
Вопрос: Как использовать `context` в SQL транзакции (`BeginTx`)?
Ответы
```go
tx, err := db.BeginTx(ctx, &sql.TxOptions{Isolation: sql.LevelReadCommitted})
if err != nil { return }
defer tx.Rollback()
_, err = tx.ExecContext(ctx, "update t set a=$1", 1)
if err != nil { return }
_ = tx.Commit()
```
**Как это работает:** `BeginTx/ExecContext` позволяют отменить транзакцию по дедлайну/отмене.