Verified limit lookup

MySQL Column Count Limit

MySQL Column Count Limit, verified against MySQL's official documentation with scope, implementation impact, caveats, and a direct check.

Verified Aug 22, 20261 official source
Quick answer

MySQL documents columns per table as 4,096 hard limit; InnoDB limit 1,017. Effective counts can be lower because row size and hidden generated columns also apply.

Verified Aug 22, 2026Official source

Current limits

ConstraintCurrent valueScopeVerified source
columns per tableEffective counts can be lower because row size and hidden generated columns also apply.4,096 hard limit; InnoDB limit 1,017MySQL 8.4OracleAug 22, 2026

Why does this limit matter?

Generated functional-index columns and wide schemas can consume the engine-specific count unexpectedly.

This value is scoped to MySQL 8.4; a different plan, runtime, model, endpoint, region, or account can produce a different effective constraint.

What should you check?

  1. Inspect storage engine, visible and hidden columns, indexes, and computed row width.
  2. Confirm the exact plan, model, runtime, endpoint, region, and account that serve the failing workload.
  3. Record the observed value, response headers or configuration, timestamp, and source without logging secrets.

Important caveats

  • Reaching hundreds of columns often creates operational problems before the theoretical hard limit.
  • Treat the official source and live account configuration as authoritative if they differ from this verified snapshot.
HyperObserve reports the documented platform constraint. Your application, SDK, gateway, provider, region, or account can impose a lower effective limit.
Related

Related references and tools

Found an outdated limit? Report it.