<p>MySQL refuses an online ALTER TABLE because full-text indexes require a blocking table lock.</p>
<p>MySQL Error 1857: ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FTS means the requested ALTER TABLE cannot run online when a fulltext index is present. Use ALGORITHM=COPY, drop and recreate the full-text index, or run the statement during a maintenance window to fix the issue.</p>
Fulltext index creation requires a lock
Error 1857 appears when an ALTER TABLE uses ALGORITHM=INPLACE or ONLINE but the target table has a fulltext index. MySQL can only build or modify FULLTEXT indexes with a blocking metadata lock, so the operation is rejected.
The error was introduced in MySQL 5.7.1 to make the limitation explicit. Earlier versions silently fell back to a table copy, sometimes leading to long unexpected outages.
FULLTEXT indexes rely on external auxiliary tables to store tokenized data. Updating those structures in place is not yet supported by the InnoDB online DDL engine. MySQL therefore takes a shared-nothing approach and insists on a table-level lock.
Most engineers hit 1857 while adding a column or changing the storage engine with ALGORITHM=INPLACE or with pt-online-schema-change. CI pipelines that default to ONLINE DDL can also fail unexpectedly in production deployments.
The error blocks the statement before any changes occur, so data integrity is preserved. Application downtime can still happen if the failing migration runs during peak traffic.
Running ALTER TABLE ... ALGORITHM=INPLACE on a table that already owns a FULLTEXT index is the most frequent trigger.
Building a new FULLTEXT KEY with ALGORITHM=INPLACE fails because the index creation itself needs an exclusive lock.
Tools such as gh-ost or pt-online-schema-change request ONLINE DDL by default and therefore hit the limitation unless configured to copy the table.
Rails, Django, and other ORMs may append ALGORITHM=INPLACE in generated migrations, exposing the project to this error during deploys.
Fails an INPLACE alter when a column without a default is added - similar online DDL limitation.
Triggered when altering a table with an AUTO_INCREMENT column via ONLINE algorithm.
Appears when renaming a foreign key constraint using ALGORITHM=INPLACE.
Occurs when a metadata lock prevents DDL from proceeding; may surface alongside 1857 if concurrent sessions hold locks.
You should not ignore it because the ALTER statement will not run. Choose a supported algorithm instead.
Yes, but it requires a full table copy and an exclusive lock, so plan for extra time and space.
No current MySQL version supports online FULLTEXT index creation for InnoDB. Monitor future release notes for changes.
Galaxy surfaces DDL execution plans and warns when ONLINE DDL is impossible, letting teams adjust scripts before deployment.