3129
MariaDBERRORNotableDDLHIGH 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
  1. 1An InnoDB-managed hidden FTS_DOC_ID column exists because the table has a FULLTEXT index.
  2. 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

← All MariaDB errors