Конвертиране на mysql таблица от MyISAM към InnoDB

Днес реших да прехвърля една база от MyISAM в InnoDB и при прехвърляното получих следната грешка:
mysql> alter table pcdict_words ENGINE = InnoDB;
ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes

Това се получава защото в таблицата имам няколко индекса "Fulltext". Преди да прехвърлим
към InnoDB трябва да видим които са Fulltext индексите и да ги премахнем. За да видим индексите се изпълнява
следната команда:
mysql> SHOW CREATE TABLE pcdict_words\G
*************************** 1. row ***************************
Table: pcdict_words
Create Table: CREATE TABLE `pcdict_words` (

FULLTEXT KEY `worde` (`a`),
FULLTEXT KEY `description` (`d`),

) ENGINE=MyISAM AUTO_INCREMENT=3217 DEFAULT CHARSET=cp1251
1 row in set (0.00 sec)

Сега ще премахнем двата индекса Fulltext със следните команди:
alter table pcdict_words drop index `word`;
alter table pcdict_words drop index `description`;

Сега отново конвертираме от MyIsam към InnoDB :
mysql> alter table pcdict_words ENGINE = InnoDB;
Query OK, 3203 rows affected (0.54 sec)
Records: 3203  Duplicates: 0  Warnings: 0

Voila 🙂

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)
Конвертиране на mysql таблица от MyISAM към InnoDB, 5.0 out of 5 based on 1 rating

Вашият коментар

Вашият email адрес няма да бъде публикуван Задължителните полета са отбелязани с *