SET FOREIGN_KEY_CHECKS = 0;
DROP PROCEDURE IF EXISTS drop_all_indexes;
DELIMITER //
CREATE PROCEDURE drop_all_indexes()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE tbl_name VARCHAR(100);
DECLARE idx_name VARCHAR(100);
DECLARE cur CURSOR FOR
SELECT DISTINCT TABLE_NAME, INDEX_NAME
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'airportdb'
AND INDEX_NAME != 'PRIMARY'
ORDER BY TABLE_NAME, INDEX_NAME;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
OPEN cur;
read_loop: LOOP
FETCH cur INTO tbl_name, idx_name;
IF done THEN LEAVE read_loop; END IF;
SET @s = CONCAT('DROP INDEX `', idx_name, '` ON `airportdb`.`', tbl_name, '`');
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SELECT CONCAT('Избришан: ', tbl_name, ' -> ', idx_name) AS status;
END LOOP;
CLOSE cur;
END //
DELIMITER ;
CALL drop_all_indexes();
DROP PROCEDURE IF EXISTS drop_all_indexes;
SET FOREIGN_KEY_CHECKS = 1;
SELECT
TABLE_NAME,
INDEX_NAME,
GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS koloni
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'airportdb'
GROUP BY TABLE_NAME, INDEX_NAME
ORDER BY TABLE_NAME, INDEX_NAME;
Last modified
3 weeks ago
Last modified on 03/01/26 21:55:53
Note:
See TracWiki
for help on using the wiki.
