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 wordt NULL 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.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow