Files
firestuff/files/convert_to_innodb.sql

38 lines
843 B
MySQL
Raw Normal View History

2019-04-21 17:18:27 +00:00
delimiter |
DROP PROCEDURE IF EXISTS convert_to_innodb|
CREATE PROCEDURE convert_to_innodb ()
BEGIN
DECLARE table_name BLOB;
DECLARE table_engine BLOB;
DECLARE junk BLOB;
DECLARE done INT DEFAULT 0;
DECLARE table_cur CURSOR FOR SHOW TABLE STATUS;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN table_cur;
each_table:
WHILE done = 0 DO
BEGIN
FETCH table_cur INTO table_name,table_engine,junk,junk,junk,junk,junk,junk,junk,junk,junk,junk,junk,junk,junk,junk,junk,junk;
IF table_engine = 'InnoDB' THEN ITERATE each_table; END IF;
SET @qtext = CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;');
PREPARE aquery FROM @qtext;
EXECUTE aquery;
DEALLOCATE PREPARE aquery;
END;
END WHILE;
CLOSE table_cur;
END|
CALL convert_to_innodb()|
DROP PROCEDURE convert_to_innodb|