26

重複の可能性:
mysqlプロシージャのエラーERROR 1304&ERROR 1305

コマンドを実行してプロシージャを削除しようとしています。

DROP PROCEDURE create_datetable

これを行うことにより、警告が表示されます。

1304 PROCEDURE create_datetable already exists

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

これは何を意味するのでしょうか?

4

1 に答える 1

45

参考:ドロップ手順.

コード:

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;

すべての手順を削除する自由がありますか? その場合は、この投稿を試してください: MySQL ですべてのストアド プロシージャを削除するか、一時ストアド プロシージャを使用して、post2: MySQL ですべてのストアド プロシージャを削除するか、一時ストアド プロシージャを使用してください。

于 2013-01-01T11:54:09.130 に答える