Todas las tablas de innodb a myisam


Icono de sql Pasa a veces que nos equivocamos al poner el tipo de sistema para las tablas de una base de datos y hay que borrarlas y volverlas ha hacer cambiando el sistema o bien con un ALTER TABLE ir cambaindolo de uno a uno. Pues con este sql podemos hacerlo de una tacada todas las queries de ALTER TABLE para copiar y pegar y tenerlo listo

SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,'  engine=MyISAM;') FROM information_schema.tables WHERE engine = 'InnoDB'  and table_schema = 'nombre_base_de_datos';

El comando lo que hace es sacar todas las tablas de la base de datos de 'nombre_base_de_datos' con el sistema 'InnoDB' para concatenar el nombre de la tabla y el esquema en la query resultante:

ALTER TABLE ',table_schema,'.',table_name,'  engine=MyISAM;

Luego se ejecutarían las queries que nos dirá la consulta y con ello habremos cambiado todas las tablas del la base de datos de InnoDB a MyIsam.