go-gorm/gorm · error
invalid transaction
Error message
invalid transaction
What it means
Error "invalid transaction" thrown in go-gorm/gorm.
Source
Thrown at errors.go:13
package gorm
import (
"errors"
"gorm.io/gorm/logger"
)
var (
// ErrRecordNotFound record not found error
ErrRecordNotFound = logger.ErrRecordNotFound
// ErrInvalidTransaction invalid transaction when you are trying to `Commit` or `Rollback`
ErrInvalidTransaction = errors.New("invalid transaction")
// ErrNotImplemented not implemented
ErrNotImplemented = errors.New("not implemented")
// ErrMissingWhereClause missing where clause
ErrMissingWhereClause = errors.New("WHERE conditions required")
// ErrUnsupportedRelation unsupported relations
ErrUnsupportedRelation = errors.New("unsupported relations")
// ErrPrimaryKeyRequired primary keys required
ErrPrimaryKeyRequired = errors.New("primary key required")
// ErrModelValueRequired model value required
ErrModelValueRequired = errors.New("model value required")
// ErrModelAccessibleFieldsRequired model accessible fields required
ErrModelAccessibleFieldsRequired = errors.New("model accessible fields required")
// ErrSubQueryRequired sub query required
ErrSubQueryRequired = errors.New("sub query required")
// ErrInvalidData unsupported data
ErrInvalidData = errors.New("unsupported data")
// ErrUnsupportedDriver unsupported driver
ErrUnsupportedDriver = errors.New("unsupported driver")View on GitHub (pinned to 1d6ce99528)
Solutions
- Check that the transaction callback returns nil on success and that all statements inside it are valid.
- Ensure you are not calling Commit/Rollback manually inside a db.Transaction block.
- Inspect the wrapped error with errors.Is/errors.As for the underlying driver failure.
Example fix
Check for gorm.ErrInvalidTransaction and retry on a fresh session: if errors.Is(err, gorm.ErrInvalidTransaction) { tx = db.Session(&gorm.Session{}) } When it happens
Trigger: Thrown at errors.go:13 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of go-gorm/gorm@1d6ce99528 (2026-08-15).
Data as JSON: /api/errors/3c133073b1ca3139.
Report an issue: GitHub.