DROP PROCEDURE
IF EXISTS convertToINNODB;
DELIMITER //
CREATE PROCEDURE convertToINNODB ()
BEGIN
DECLARE
tbl VARCHAR (255) ;
SET @tbl := 'cmss_master' ; mainloop :
LOOP
SELECT
TABLE_NAME INTO @convertTable
FROM
information_schema. TABLES
WHERE
`TABLE_SCHEMA` LIKE @tbl
AND `ENGINE` NOT LIKE 'InnoDB'
AND TABLE_NAME NOT IN ('a')
ORDER BY
TABLE_NAME
LIMIT 1 ;
IF @convertTable IS NULL THEN
LEAVE mainloop ;
END
IF ;
SET @sqltext := CONCAT(
'ALTER TABLE `' ,@tbl,
'`.`',
@convertTable,
'` ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci'
) ; PREPARE convertTables
FROM
@sqltext ; EXECUTE convertTables ; DEALLOCATE PREPARE convertTables ;
SET @convertTable = NULL ;
END
LOOP
mainloop ;
END//
DELIMITER ;
CALL convertToINNODB ();
DROP PROCEDURE
IF EXISTS convertToINNODB;