Буду вдячний, якщо хтось міг би допомогти мені про те, що є правильною командою в MySQL, щоб запитати всю базу даних щодо наявності двигуна "MyISAM". Мені потрібно конвертувати всі БД та таблиці з MyISAM в InnoDB.
Буду вдячний, якщо хтось міг би допомогти мені про те, що є правильною командою в MySQL, щоб запитати всю базу даних щодо наявності двигуна "MyISAM". Мені потрібно конвертувати всі БД та таблиці з MyISAM в InnoDB.
Відповіді:
Нижче наведено Запит, щоб знайти всі таблиці, які містять MyISAM
Engine
SELECT TABLE_SCHEMA as DbName ,TABLE_NAME as TableName ,ENGINE as Engine FROM information_schema.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema');
Вище запиту буде перераховано всі таблиці, що мають MyISAM
Engine.
Про те, як перетворити існуючі таблиці MyISAM в InnoDB
Нижче наведено Запит, який поверне ALTER заяви для перетворення існуючих MyISAM
таблиць у InnoDB
.
SELECT CONCAT('ALTER TABLE `', TABLE_SCHEMA,'`.`',TABLE_NAME, '` ENGINE = InnoDB;') FROM information_schema.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema');
Ви можете виконати ці заяви для перетворення двигунів.