Изменение движка таблиц в MySQL - PullRequest
46 голосов
/ 22 ноября 2010

Я использую mysql и mysql workbench.Я создал 5 таблиц с движком innodb.Я проверил их движок, и это было innodb, прежде чем я вставил в них данные.Я вставил данные из 5 таблиц MyISAM, и теперь мои таблицы innodb - MyISAM.Я не могу их изменить.Я использовал alter table engine = innodb, но он не работает.

Ответы [ 2 ]

72 голосов
/ 22 ноября 2010

Из руководства: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

Например, чтобы преобразовать таблицу в таблицу InnoDB, используйте этот оператор:

ALTER TABLE t1 ENGINE = InnoDB;

Результат попытки изменитьмеханизм хранения таблицы зависит от того, доступен ли требуемый механизм хранения и настройки режима NO_ENGINE_SUBSTITUTION SQL, как описано в Раздел 5.1.7 , «Режимы SQL сервера».

http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_no_engine_substitution

При создании таблицы вы получаете предупреждение о том, что тип двигателя недоступен?

23 голосов
/ 08 декабря 2012

Это не очевидно. Если вы редактируете таблицу и затем выбираете вкладку столбца , виджет движка не сразу виден. В правом верхнем углу окна редактирования вы увидите два указывающих вниз шеврона. Выберите стрелку один раз , и появятся дополнительные виджеты. В верхнем правом углу теперь будут виджеты для схемы и движка.

Result

...