Buscar..


Conversión básica

ALTER TABLE foo ENGINE=InnoDB;

Esto convierte la tabla, pero no se ocupa de las diferencias entre los motores. La mayoría de las diferencias no importarán, especialmente para mesas pequeñas. Pero para tablas más ocupadas, otras consideraciones deben ser consideradas. Consideraciones de conversión

Convertir todas las tablas en una base de datos

Para convertir fácilmente todas las tablas en una base de datos, use lo siguiente:

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: Debería estar conectado a su base de datos para que la función DATABASE() funcione, de lo contrario, devolverá NULL . Esto se aplica principalmente al cliente mysql estándar que se envía con el servidor, ya que permite conectarse sin especificar una base de datos.

Ejecute esta instrucción SQL para recuperar todas las tablas MyISAM en su base de datos.

Finalmente, copie la salida y ejecute las consultas SQL desde ella.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow