已经存在的丢弃程序?

Mik*_*koP 24 mysql stored-procedures

可能重复:
mysql过程出错ERROR 1304&ERROR 1305

我尝试运行一个命令来删除一个过程:

DROP PROCEDURE create_datetable
Run Code Online (Sandbox Code Playgroud)

通过这样做我得到一个警告:

1304 PROCEDURE create_datetable already exists
Run Code Online (Sandbox Code Playgroud)

在那之后,当我尝试创建一个具有相同名称的新程序时,我得到了相同的警告.

这是什么意思?

bon*_*igo 42

参考:丢弃程序.

代码:

DROP PROCEDURE IF EXISTS procedureName;
...
Run Code Online (Sandbox Code Playgroud)

编辑:

你可以尝试重命名该过程,然后按照这篇文章尝试删除它:重命名一个mysql过程

试试这个:

UPDATE `mysql`.`create_DataTable`
SET name = '<new_proc_name>',
specific_name = '<new_proc_name>'
WHERE db = '<database>' AND
name = '<old_proc_name>';
Run Code Online (Sandbox Code Playgroud)

另请注意:如果已为此过程授予用户权限,则还需要更新newProcedure中的过程名称.

UPDATE `mysql`.`create_DataTable`
SET Routine_name = '<new_proc_name>'
WHERE Db = '<database>' AND
  Routine_name = '<old_proc_name>';
 FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

你有删除所有程序的自由吗?如果是这样,请尝试以下帖子:删除MySQL中的所有存储过程或使用临时存储过程和post2:删除MySQL中的所有存储过程或使用临时存储过程.