In MySQL gibt es keine Möglichkeit, eine Speicher-Engine für eine bestimmte Datenbank anzugeben, nur für einzelne Tabellen. Sie können jedoch eine Speicher-Engine angeben, die während einer Sitzung verwendet werden soll, mit:
SET storage_engine=InnoDB;
Sie müssen es also nicht für jede Tabelle angeben.
Wie bestätige ich, ob tatsächlich alle Tabellen InnoDB verwenden?
mysql
innodb
myisam
storage-engines
Kamal
quelle
quelle
Antworten:
Wenn Sie SHOW CREATE TABLE verwenden, müssen Sie die Engine aus der Abfrage heraus analysieren.
Die Auswahl aus der INFORMATION_SCHEMA-Datenbank ist eine schlechte Praxis, da sich die Entwickler das Recht vorbehalten, das Schema jederzeit zu ändern (obwohl dies unwahrscheinlich ist).
Die richtige Abfrage lautet SHOW TABLE STATUS - Sie können Informationen zu allen Tabellen in einer Datenbank abrufen:
Oder für eine bestimmte Tabelle:
Eine der Spalten, die Sie zurückerhalten, ist Engine.
quelle
quelle
show create table <table>
sollte den Trick machen.quelle