Duplicata possible:
Erreur avec les procédures mysql ERROR 1304 & ERROR 1305
J'essaie d'exécuter une commande pour supprimer une procédure:
DROP PROCEDURE create_datetable
En faisant cela, j'obtiens l'avertissement:
1304 PROCEDURE create_datetable already exists
Après cela, lorsque j'essaie de créer une nouvelle procédure avec le même nom, j'obtiens le même avertissement.
Qu'est-ce que ça veut dire?
Référence: Procédure de suppression .
Le code:
DROP PROCEDURE IF EXISTS procedureName;
...
Modifier:
Pouvez-vous essayer de renommer la procédure, puis essayez de la supprimer comme indiqué dans cet article: Renommer une procédure mysql ?
essaye ça:
UPDATE `mysql`.`create_DataTable`
SET name = '<new_proc_name>',
specific_name = '<new_proc_name>'
WHERE db = '<database>' AND
name = '<old_proc_name>';
Notez également: si vous avez accordé des privilèges aux utilisateurs pour cette procédure, vous devrez également mettre à jour le nom de la procédure dans newProcedure.
UPDATE `mysql`.`create_DataTable`
SET Routine_name = '<new_proc_name>'
WHERE Db = '<database>' AND
Routine_name = '<old_proc_name>';
FLUSH PRIVILEGES;
Avez-vous la liberté de supprimer toutes les procédures? Si c'est le cas, veuillez essayer ce post: Supprimer toutes les procédures stockées dans MySQL ou en utilisant des procédures stockées temporaires et post2: Supprimer toutes les procédures stockées dans MySQL ou en utilisant des procédures stockées temporaires .