Может ли Alter Table Engine = InnoDB выполняться одновременно на нескольких таблицах? - PullRequest
13 голосов
/ 11 июня 2011

Что касается MySQL и PHPMyAdmin, я не новичок, но я ближе к новичку, чем к эксперту.Надеюсь, то, что я прошу, выполнимо, и что кто-то предоставит мне простой SQL-запрос «вырезать и вставить», чтобы это произошло.

Мне нужно преобразовать около 9 таблиц в каждой из 12 дБ из MyISAMв InnoDB, и я надеюсь, что я могу сделать все таблицы в одной БД одним запросом, вместо того, чтобы щелкать и ждать для каждой таблицы в PHPMyAdmin.По сути, есть ли способ запустить «ALTER TABLE foo ENGINE = InnoDB» сразу для нескольких таблиц с помощью запроса, выполняемого в PHPMyAdmin?

1 Ответ

33 голосов
/ 11 июня 2011
select concat('alter table ',table_name, ' engine = innodb;')
from information_schema.tables
where table_schema in ('db1','db2',....,'dbN')

затем запустите вывод запроса.

...