我尝试运行一个命令来删除一个过程:
DROP PROCEDURE create_datetable
通过这样做,我得到一个警告:
1304 PROCEDURE create_datetable already exists
之后,当我尝试创建具有相同名称的新过程时,我会收到相同的警告。
这是什么意思?
我尝试运行一个命令来删除一个过程:
DROP PROCEDURE create_datetable
通过这样做,我得到一个警告:
1304 PROCEDURE create_datetable already exists
之后,当我尝试创建具有相同名称的新过程时,我会收到相同的警告。
这是什么意思?
参考:丢弃程序。
编码:
DROP PROCEDURE IF EXISTS procedureName;
...
编辑:
您可以尝试重命名该过程,然后尝试按照这篇文章删除它:重命名 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;
你有删除所有程序的自由吗?如果是这样,请尝试这篇文章:Drop all stored procedures in MySQL or using temporary stored procedures和 post2:Drop all stored procedures in MySQL or using temporary stored procedures。