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

  1. Check that the transaction callback returns nil on success and that all statements inside it are valid.
  2. Ensure you are not calling Commit/Rollback manually inside a db.Transaction block.
  3. 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.