В MySQL нет способа указать механизм хранения для определенной базы данных, только для отдельных таблиц. Однако вы можете указать механизм хранения, который будет использоваться во время одного сеанса, с помощью:
SET storage_engine=InnoDB;
Таким образом, вам не нужно указывать его для каждой таблицы.
Как мне подтвердить, действительно ли все таблицы используют InnoDB?
mysql
innodb
myisam
storage-engines
Камал
источник
источник
Ответы:
Если вы используете SHOW CREATE TABLE, вам нужно выделить движок из запроса.
Выбор из базы данных INFORMATION_SCHEMA - плохая практика, так как разработчики оставляют за собой право изменить ее схему в любое время (хотя это маловероятно).
Правильный запрос для использования - SHOW TABLE STATUS - вы можете получить информацию обо всех таблицах в базе данных:
SHOW TABLE STATUS FROM `database`;
Или для конкретной таблицы:
SHOW TABLE STATUS FROM `database` LIKE 'tablename';
Один из столбцов, который вы получите обратно, - Двигатель.
источник
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db name' AND ENGINE != 'InnoDB'
источник
show create table <table>
должен сделать свое дело.источник