Comment savoir si une table mysql utilise myISAM ou InnoDB Engine?

Dans MySQL, il n’existe aucun moyen de spécifier un moteur de stockage pour une firebase database donnée, uniquement pour les tables simples. Cependant, vous pouvez spécifier un moteur de stockage à utiliser pendant une session avec:

SET storage_engine=InnoDB; 

Vous n’avez donc pas besoin de le spécifier pour chaque table.

Comment puis-je confirmer si toutes les tables utilisent InnoDB?

Si vous utilisez SHOW CREATE TABLE, vous devez parsingr le moteur en dehors de la requête.

La sélection dans la firebase database INFORMATION_SCHEMA est une mauvaise pratique, car les développeurs se réservent le droit de modifier leur 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 firebase database:

 SHOW TABLE STATUS FROM `database`; 

Ou pour une table spécifique:

 SHOW TABLE STATUS FROM `database` LIKE 'tablename'; 

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

devrait faire l’affaire.