MySQL
Converteren van MyISAM naar InnoDB
Zoeken…
Basis conversie
ALTER TABLE foo ENGINE=InnoDB;
Dit converteert de tabel, maar zorgt niet voor verschillen tussen de motoren. De meeste verschillen zullen er niet toe doen, vooral voor kleine tafels. Maar voor drukkere tabellen moeten andere overwegingen worden overwogen. Overwegingen bij de conversie
Alle tabellen in één database omzetten
Gebruik het volgende om eenvoudig alle tabellen in één database te converteren:
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';
OPMERKING: U moet verbonden zijn met uw database om de
DATABASE()
-functie te laten werken, anders wordtNULL
geretourneerd. Dit is meestal van toepassing op standaard mysql-clients die met de server worden geleverd, omdat hiermee verbinding kan worden gemaakt zonder een database op te geven.
Voer deze SQL-instructie uit om alle MyISAM
tabellen in uw database op te halen.
Kopieer ten slotte de uitvoer en voer er SQL-query's uit.