Ошибка MySQL 1142 Команда DROP отклонена

Я не могу удалить таблицу из процедуры. Это процедура, в которой он дает мне ошибку.

CREATE PROCEDURE `procDropAllTables`()
BEGIN
    DECLARE table_name VARCHAR(255);
    DECLARE end_of_tables INT DEFAULT 0;

    DECLARE cur CURSOR FOR
        SELECT t.table_name 
        FROM information_schema.tables t 
        WHERE t.table_schema = DATABASE() AND t.table_type='BASE TABLE';
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET end_of_tables = 1;

    SET FOREIGN_KEY_CHECKS = 0;
    OPEN cur;

    tables_loop: LOOP
        FETCH cur INTO table_name;

        IF end_of_tables = 2 THEN
            LEAVE tables_loop;
        END IF;

        SET @s = CONCAT('DROP TABLE IF EXISTS ' , table_name);
        PREPARE stmt FROM @s;
        EXECUTE stmt;

    END LOOP;

    CLOSE cur;
    SET FOREIGN_KEY_CHECKS = 1;
END

Я могу удалять таблицы, если делаю это вручную, так что это не проблема с привилегиями пользователя.


person Soundbite    schedule 30.03.2015    source источник
comment
Уверен, что это не проблема привилегий? stackoverflow.com/ вопросы/10956195/   -  person ElGavilan    schedule 30.03.2015
comment
Да, я уверен, что это не проблема привилегий.   -  person Soundbite    schedule 30.03.2015