MySQLでは、特定のデータベースにストレージエンジンを指定する方法はなく、単一のテーブルにのみ指定できます。ただし、次の1つのセッションで使用するストレージエンジンを指定できます。
SET storage_engine=InnoDB;
したがって、テーブルごとに指定する必要はありません。
実際にすべてのテーブルがInnoDBを使用しているかどうかを確認するにはどうすればよいですか?
MySQLでは、特定のデータベースにストレージエンジンを指定する方法はなく、単一のテーブルにのみ指定できます。ただし、次の1つのセッションで使用するストレージエンジンを指定できます。
SET storage_engine=InnoDB;
したがって、テーブルごとに指定する必要はありません。
実際にすべてのテーブルがInnoDBを使用しているかどうかを確認するにはどうすればよいですか?
SHOW CREATE TABLE を使用する場合は、クエリからエンジンを解析する必要があります。
開発者はいつでもスキーマを変更する権利を留保しているため、INFORMATION_SCHEMA データベースから選択することはお勧めできません (可能性は低いですが)。
使用する正しいクエリはSHOW TABLE STATUSです。データベース内のすべてのテーブルに関する情報を取得できます。
SHOW TABLE STATUS FROM `database`;
または特定のテーブルの場合:
SHOW TABLE STATUS FROM `database` LIKE 'tablename';
返される列の 1 つはエンジンです。
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'db name' AND ENGINE != 'InnoDB'
show create table <table>
トリックを行う必要があります。