MySQL ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
An AUTO_INCREMENT column isn’t indexed (or there are two auto-increment columns).
there can be only one auto column and it must be defined as a key Meaning
MySQL requires the AUTO_INCREMENT column to be part of a key, typically the PRIMARY KEY. Imports that drop keys before adding AUTO_INCREMENT hit this.
Common causes
- AUTO_INCREMENT added before the PRIMARY KEY
- Two AUTO_INCREMENT columns
- Primary key dropped
⚡ Quick fix
- Add PRIMARY KEY (id) in the same statement
- Keep a single auto-increment column
Detailed fix by platform
MySQL
ALTER TABLE items MODIFY id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
How to diagnose
- Keys — Is the auto column indexed?
- Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in MySQL
Other ways to find it
Where this error sits
Origin: Data. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 10 Oct 2026