2013-01-01 26 views
14

可能性の重複:
Error with mysql procedures ERROR 1304 & ERROR 1305既に存在する削除手順はありますか?

私はプロシージャを削除するためのコマンドを実行しよう:

DROP PROCEDURE create_datetable 

これにより、私は警告を取得:

1304 PROCEDURE create_datetable already exists 

その後、同じ名前の新しいプロシージャを作成しようとすると、同じ警告が表示されます。

これはどういう意味ですか?

+0

正確に 'procedureName'を使用していますか? –

+0

それがあれば、投稿を編集しました。 – MikkoP

+0

@bonCodigoの示唆したように、 'DROP PROCEDURE IF EXISTS'を試しましたか? –

答えて

28

参照: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と投稿2:Drop all stored procedures in MySQL or using temporary stored procedures

+0

これで私は 'PROCEDUREは存在しません 'ということになります。私が作成しようとしているとき、同じことが言います。私はそれを使用しようとすると、プロシージャは存在しないと言います。 – MikkoP

+0

@MikkoP私は試してみることができるルーチンを追加して答えを更新しました。ショットやコメントをお願いします。 – bonCodigo

関連する問題