Dans MySQL, il n'y a aucun moyen de spécifier un moteur de stockage pour une certaine base de données, uniquement pour les tables individuelles. Cependant, vous pouvez spécifier un moteur de stockage à utiliser pendant une session avec:
SET storage_engine=InnoDB;
Vous n'avez donc pas à le spécifier pour chaque table.
Comment puis-je confirmer, si en effet toutes les tables utilisent InnoDB?
Si vous utilisez SHOW CREATE TABLE, vous devez analyser le moteur hors de la requête.
La sélection dans la base de données INFORMATION_SCHEMA est une mauvaise pratique, car les développeurs se réservent le droit de modifier son schéma à tout moment (bien que cela soit peu probable).
La requête correcte à utiliser est SHOW TABLE STATUS - vous pouvez obtenir des informations sur toutes les tables d'une base de données:
SHOW TABLE STATUS FROM `database`;
Ou pour une table spécifique:
SHOW TABLE STATUS FROM `database` LIKE 'tablename';
L'une des colonnes que vous récupérerez est Engine.
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'db name' AND ENGINE != 'InnoDB'
show create table <table>
devrait faire l'affaire.