Ricerca…


Conversione di base

ALTER TABLE foo ENGINE=InnoDB;

Questo converte la tabella, ma non si cura delle differenze tra i motori. La maggior parte delle differenze non ha importanza, specialmente per i tavoli di piccole dimensioni. Ma per le tabelle più impegnative, dovrebbero essere prese in considerazione altre considerazioni. Considerazioni di conversione

Conversione di tutte le tabelle in un database

Per convertire facilmente tutte le tabelle in un unico database, utilizzare quanto segue:

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';

NOTA: per funzionare, dovresti essere connesso al database affinché funzioni la funzione DATABASE() , altrimenti restituirà NULL . Questo si applica principalmente al client mysql standard fornito con il server in quanto consente di connettersi senza specificare un database.

Esegui questa istruzione SQL per recuperare tutte le tabelle MyISAM nel tuo database.

Infine, copia l'output ed esegui query SQL da esso.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow