Какой самый безопасный способ конвертировать таблицу с InnoDB в MyISAM? - PullRequest
6 голосов
/ 19 декабря 2011

Моя база данных в настоящее время использует движок InnoDB. Теперь я хочу добавить функцию полнотекстового поиска, поэтому я хочу конвертировать мои таблицы в MyISAM. Но при этом ломаются все внешние ключи. Как мне безопасно сменить свои движки таблиц на MyISAM?

Как я могу использовать SELECT ... JOIN после изменения таблиц на движок MyISAM?

ALTER TABLE jobs ENGINE = MyISAM;
Cannot delete or update a parent row: a foreign key constraint fails

Ответы [ 2 ]

6 голосов
/ 19 декабря 2011

Я бы порекомендовал вам сделать дамп базы данных, изменить весь текст из этого файла с InnoDB на MyISAM, а затем загрузить измененный файл

4 голосов
/ 19 декабря 2011

Как я знаю, MyISAM не поддерживает внешние ключи (сравните функции, предлагаемые InnoDB с функциями MyISAM ).MySQL пытается сказать вам, что вы должны отбросить все ограничения внешнего ключа, которые ссылаются на вашу таблицу jobs, прежде чем менять ее движок на MyISAM.

...