2013-02-11 3 views
0

На самом деле, я хотел бы переключить движок своих таблиц. Есть в InnoDB, и я хочу, чтобы установить их в MyISAM из-за этогоMysql, InnoDB для MyISAM для полнотекстового индекса

ALTER TABLE `xxx_db`.`yyy` ADD FULLTEXT `ft_modele` (
    `anno_modele` 
) 

Ошибка: Документация # 1214 - Используемая таблица не поддерживает индексы FULLTEXT

So ... Я это:

ALTER TABLE `annonce` ENGINE = MYISAM 

Но у меня есть ошибки тоже:

#1217 - Cannot delete or update a parent row: a foreign key constraint fails 

Я понимаю ошибку ... но я действительно не хочу убивать весь индекс ссылок и воссоздавать их. Слишком долго.

У кого-то есть идея конвертировать innoDB в MyISAM? Я прочитал, что полный текст поддерживается для MySQL 5.6.4 ... к сожалению, у меня есть 5.5.28, и я на Plesk 11. Я боюсь, что если я сделаю обновление, мой сервер столкнется.

Кто-нибудь может мне помочь?

ответ

0

Unformtunately, не хороший вариант для меня. Хотя нет обновления для plesk с новой версией mysql, я не могу обновить сервер без создания нестабильности.

Итак, я просто mysqldump мою базу данных и редактирую таблицы и ключи.

Резервуар для помощи. Хороший день

2

Полнотекстовые индексы или ограничения внешнего ключа (MyISAM не поддерживает их) вы можете выбрать только один (до MySQL 5.6).

Изменение механизма базы данных приведет к полному переписыванию таблицы (создание нового, перемещение данных, удаление старого) в любом случае.

Если бы я был вами, я бы пошел на обновление.

2

К сожалению, у вас не может быть таблицы в MySQL 5.5, которая поддерживает как ограничения внешнего ключа, так и полнотекстовые индексы. Как вы уже отмечали, MySQL 5.6 делает support fulltext indexes for InnoDB.

Я рекомендую обновить MySQL, если это возможно. MySQL 5.6 стабилен.

В качестве альтернативы использовать внешний полнотекстовый индекс, как Sphinx или Lucene

Смежные вопросы