可能重複:
Error with mysql procedures ERROR 1304 & ERROR 1305已經存在的丟棄程序?
我嘗試運行命令來刪除一個程序:
DROP PROCEDURE create_datetable
通過這樣做,我得到了一個警告:
1304 PROCEDURE create_datetable already exists
之後,當我嘗試創建一個具有相同名稱的新過程時,我得到相同的警告。
這是什麼意思?
可能重複:
Error with mysql procedures ERROR 1304 & ERROR 1305已經存在的丟棄程序?
我嘗試運行命令來刪除一個程序:
DROP PROCEDURE create_datetable
通過這樣做,我得到了一個警告:
1304 PROCEDURE create_datetable already exists
之後,當我嘗試創建一個具有相同名稱的新過程時,我得到相同的警告。
這是什麼意思?
參考:Drop Procedure。
代碼:
DROP PROCEDURE IF EXISTS procedureName;
...
編輯:
你可以嘗試重命名過程,然後嘗試刪除它按這個帖子:Rename a mysql procedure?
試試這個:
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。
你正在使用什麼'procedureName'? – 2013-01-01 11:53:31
如果它有什麼不同,我編輯了這篇文章。 – MikkoP
您是否按照@bonCodigo的建議嘗試了'DROP PROCEDURE IF EXISTS'? – 2013-01-01 11:56:10