MySQL
Konvertierung von MyISAM nach InnoDB
Suche…
Grundlegende Konvertierung
ALTER TABLE foo ENGINE=InnoDB;
Dadurch wird die Tabelle konvertiert, es werden jedoch keine Unterschiede zwischen den Engines berücksichtigt. Die meisten Unterschiede spielen keine Rolle, besonders für kleine Tische. Bei belebten Tischen sollten jedoch andere Überlegungen in Betracht gezogen werden. Überlegungen zur Konvertierung
Alle Tabellen in einer Datenbank konvertieren
Um alle Tabellen in einer Datenbank zu konvertieren, verwenden Sie Folgendes:
SET @DB_NAME = DATABASE();
SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM information_schema.tables
WHERE table_schema = @DB_NAME
AND `ENGINE` = 'MyISAM'
AND `TABLE_TYPE` = 'BASE TABLE';
HINWEIS: Sie sollten mit Ihrer Datenbank verbunden sein, damit die Funktion
DATABASE()
funktioniert. Andernfalls wirdNULL
. Dies gilt vor allem für den Standard-MySQL-Client, der mit dem Server geliefert wird, da eine Verbindung ohne Angabe einer Datenbank möglich ist.
Führen Sie diese SQL-Anweisung aus, um alle MyISAM
Tabellen in Ihrer Datenbank abzurufen.
Kopieren Sie schließlich die Ausgabe und führen Sie SQL-Abfragen daraus aus.