3129
MySQLERRORNotableDDLHIGH confidence
ALTER TABLE not supported: hidden FTS_DOC_ID column present
Production Risk
Medium — FULLTEXT index rebuild can be slow on large tables.
What this means
The table contains a hidden FTS_DOC_ID column added by InnoDB for a FULLTEXT index, which prevents the requested in-place ALTER TABLE operation.
Why it happens
- 1An InnoDB-managed hidden FTS_DOC_ID column exists because the table has a FULLTEXT index.
- 2The ALTER operation would conflict with the internal FULLTEXT document ID management.
How to reproduce
trigger — this will error
trigger — this will error
ALTER TABLE articles ADD COLUMN title2 VARCHAR(255), ALGORITHM=INPLACE;
expected output
ERROR 3129 (HY000): ALGORITHM=INPLACE is not supported. Reason: Table has a hidden FTS_DOC_ID column.
Fix
Use ALGORITHM=COPY
Use ALGORITHM=COPY
ALTER TABLE articles ADD COLUMN title2 VARCHAR(255), ALGORITHM=COPY;
Why this works
Rebuilds the table and recreates the FULLTEXT index correctly.
What not to do
✕
Sources
Official documentation ↗
MySQL 8.0 — 3129 ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_HIDDEN_FTS2
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev