Преобразование таблицы из MyISAM в INNODB - PullRequest
3 голосов
/ 04 августа 2009

Я просто пытаюсь преобразовать таблицу из MyISAM в INNODB. Это для обновления bugzilla с testopia.

Эта простая команда не выполняется. ALTER TABLE table_name TYPE = INNODB;

ОШИБКА 1214 (HY000): используемый тип таблицы не поддерживает индексы FULLTEXT

Я знаю, что он не поддерживает индексы FULLTEXT, тем не менее, я хочу, чтобы он конвертировался. Должен ли я удалить полнотекстовые индексы в таблице перед преобразованием? Есть ли способ запросить их и отбросить их все?

1 Ответ

5 голосов
/ 04 августа 2009

Сначала посмотрите ваше CREATE TABLE утверждение:

SHOW CREATE TABLE tablename

Он покажет вам все ваши полнотекстовые индексы, как это:

…,
FULLTEXT KEY key_name (column_list),
…

Отбросьте все эти ключи:

ALTER TABLE tablename DROP INDEX key_name;
…

, затем конвертировать:

ALTER TABLE tablename ENGINE=InnoDB;
...