Convertir tablas InnoDB en MyISAM

August 29, 2011

Recientemente me surgió la necesidad de convertir motor de las tablas de una base de datos que usaban InnoDB a MyISAM, la solución es trivial en apariencia, es decir, convertir una tabla es tan sencillo como

1
ALTER TABLE [NOMBRE_BBDD].[NOMBRE_TABLA] engine=MyISAM;

Pero si son muchas las tablas a convertir esta tarea se puede convertir en insufrible haciéndonos perder un valioso tiempo, e aquí la solución:

1
SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' engine=MyISAM;') FROM information_schema.tables WHERE ENGINE = 'InnoDB' AND table_schema = '[NOMBRE_BASE_DE_DATOS]'

Con esta consulta conseguimos como resultado una cantidad de tuplas igual al numero de tablas a convertir como único contenido de cada uno de ellos es la consulta SQL necesaria para convertir la tabla. Ya solo nos queda ejecutar las consultas obtenidas y voilá tendremos nuestras tablas convetidas a MyISAM

To show the comments is mandatory accept cookie policy.

Front-end and back-end developer.
#formula1, good conversations and small details lover.