Процедура удаления, которая уже существует? - программирование

Процедура удаления, которая уже существует?

Возможный дубликат:
Ошибка в процедурах mysql ERROR 1304 и ERROR 1305

Я пытаюсь запустить команду, чтобы удалить процедуру:

DROP PROCEDURE create_datetable

Сделав это, я получаю предупреждение:

1304 PROCEDURE create_datetable already exists

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

Что это значит?

4b9b3361

Ответ 1

Ссылка: Процедура удаления.

Код:

DROP PROCEDURE IF EXISTS procedureName;
...

Edit:

Можете ли вы попытаться переименовать эту процедуру, а затем попытаться удалить ее в соответствии с этим сообщением: Переименовать процедуру mysql?

попробуйте следующее:

UPDATE `mysql`.`create_DataTable`
SET name = '<new_proc_name>',
specific_name = '<new_proc_name>'
WHERE db = '<database>' AND
name = '<old_proc_name>';

Также обратите внимание: если вы предоставили привилегии пользователям для этой процедуры, вам также нужно будет обновить имя процедуры в newProcedure.

UPDATE `mysql`.`create_DataTable`
SET Routine_name = '<new_proc_name>'
WHERE Db = '<database>' AND
  Routine_name = '<old_proc_name>';
 FLUSH PRIVILEGES;

Есть ли у вас свобода удалить все процедуры? Если да, пожалуйста, попробуйте этот пост: Отбросьте все хранимые процедуры в MySQL или используя временные хранимые процедуры и post2: Отбросьте все хранимые процедуры в MySQL или с использованием временных хранимых процедур.