How to fix ERROR 1214: Table type doesn't support FULLTEXT in MySQL

MySQLINTERMEDIATEHIGHUpdated Dec 25, 2025ยท 143 views

This error occurs when attempting to create a FULLTEXT index on a table with an incompatible storage engine. MySQL requires InnoDB (5.6+) or MyISAM to support FULLTEXT indexes. The fix depends on your MySQL version and application requirements.

Quick fix

Fixes 1214

SELECT VERSION();
  1. Verify your current MySQL version
  2. Check the current table storage engine
  3. If using an unsupported engine, convert to MyISAM or InnoDB
  4. Create or re-add the FULLTEXT index
mysql โ€” error
SELECT VERSION();
ERROR 1214: Table type doesn't support FULLTEXT

What this error means

ERROR 1214 indicates that you're trying to create or use a FULLTEXT index on a table using a storage engine that doesn't support this functionality. MySQL FULLTEXT indexes are only supported by InnoDB (MySQL 5.6.4 and later) and MyISAM storage engines. Other engines like MEMORY, ARCHIVE, or CSV do not support FULLTEXT indexes. This error commonly occurs when migrating databases between servers with different MySQL versions, or when importing SQL dumps created with newer versions into older MySQL installations.

Typical symptoms

  • Getting "ERROR 1214" when running CREATE TABLE or ALTER TABLE with FULLTEXT index
  • Database import fails midway when processing FULLTEXT index definitions
  • FULLTEXT search queries return "table type doesn't support FULLTEXT" errors
  • Migration between hosting providers or MySQL versions fails at index creation

Common causes

  1. Table uses a storage engine that doesn't support FULLTEXT (not MyISAM or InnoDB)
  2. Attempting to create FULLTEXT on InnoDB in MySQL versions older than 5.6.4
  3. Importing a database dump from a newer MySQL version into an older server
  4. Using a third-party storage engine that lacks FULLTEXT support
  5. Table was created with a non-compatible engine before trying to add FULLTEXT index

How to fix "ERROR 1214: Table type doesn't support FULLTEXT"

1Verify your current MySQL version

Connect to your MySQL server and check the version:

sql
SELECT VERSION();

If you're running MySQL 5.6.4 or later, InnoDB supports FULLTEXT. Earlier versions require MyISAM for FULLTEXT support.

2Check the current table storage engine

Identify which storage engine your table is using:

sql
SHOW CREATE TABLE your_table_name\G

Or:

sql
SELECT ENGINE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='your_table_name';

Look for "ENGINE=InnoDB", "ENGINE=MyISAM", or another engine type in the output.

3If using an unsupported engine, convert to MyISAM or InnoDB

If your table uses MEMORY, ARCHIVE, or another unsupported engine, convert it to MyISAM (simpler) or InnoDB (better for modern MySQL):

For MyISAM (works on all MySQL versions):

sql
ALTER TABLE your_table_name ENGINE = MyISAM;

For InnoDB (MySQL 5.6.4+ only):

sql
ALTER TABLE your_table_name ENGINE = InnoDB;

Warning: Converting to MyISAM removes transactional support. InnoDB is recommended if your application uses transactions.

4Create or re-add the FULLTEXT index

After converting the engine, create the FULLTEXT index:

sql
ALTER TABLE your_table_name ADD FULLTEXT INDEX ft_index (column_name);

Or for multiple columns:

sql
ALTER TABLE your_table_name ADD FULLTEXT INDEX ft_index (column1, column2, column3);

Test that FULLTEXT search now works:

sql
SELECT * FROM your_table_name WHERE MATCH(column_name) AGAINST('search_term');
5If importing a SQL dump, modify it before import

If you're importing a .sql file that causes this error, preprocess the dump on Linux/macOS:

bash
sed -i 's/) ENGINE=InnoDB/) ENGINE=MyISAM/g' your_db_dump.sql

On macOS, you may need:

bash
sed -i '' 's/) ENGINE=InnoDB/) ENGINE=MyISAM/g' your_db_dump.sql

On Windows PowerShell:

powershell
(Get-Content your_db_dump.sql) -replace 'ENGINE=InnoDB', 'ENGINE=MyISAM' | Set-Content your_db_dump.sql

Then import the modified dump:

bash
mysql -u username -p database_name < your_db_dump.sql
6Upgrade MySQL if stuck on older version

If you're on MySQL 5.5 or earlier and need FULLTEXT with transaction support, upgrade to MySQL 5.6.4 or later (preferably 8.0+). Contact your hosting provider or follow MySQL upgrade documentation. After upgrading, you can use InnoDB with FULLTEXT indexes without losing transactional capabilities.

Advanced notes

Partitioned tables do not support FULLTEXT indexes, regardless of storage engine. If you need both partitioning and FULLTEXT search, you must choose one or restructure your application (e.g., use separate unpartitioned tables for search, partitioned tables for data warehouse).

MyISAM vs InnoDB trade-offs: MyISAM offers faster FULLTEXT search performance but lacks transactions, crash recovery, and foreign keys. InnoDB (MySQL 5.6+) provides slower FULLTEXT search but supports transactions, crash safety, and referential integrity. For modern applications, InnoDB is strongly recommended.

For multi-byte character sets (UTF-8), ensure all columns in the FULLTEXT index use compatible collations. CJK languages (Chinese, Japanese, Korean) require special parsers (ngram or MeCab) for proper FULLTEXT tokenization.

Frequently asked questions

What does "1214" mean?
ERROR 1214 indicates that you're trying to create or use a FULLTEXT index on a table using a storage engine that doesn't support this functionality. 4 and later) and MyISAM storage engines. Other engines like MEMORY, ARCHIVE, or CSV do not support FULLTEXT indexes.
How do I fix "1214"?
This error occurs when attempting to create a FULLTEXT index on a table with an incompatible storage engine. MySQL requires InnoDB (5.6+) or MyISAM to support FULLTEXT indexes. The fix depends on your MySQL version and application requirements.
What causes "1214"?
Table uses a storage engine that doesn't support FULLTEXT (not MyISAM or InnoDB) Attempting to create FULLTEXT on InnoDB in MySQL versions older than 5.6.4 Importing a database dump from a newer MySQL version into an older server
Is the "1214" error serious?
Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.

Official resources & further reading