Pour trouver le code d'erreur SQL ou MySQL correspondant à une erreur fatale, il suffit de reproduire cette erreur dans phpMyAdmin ou à la ligne de commande MySQL et le tour est joué. Le code sera automatiquement affiché.
Mais lorsqu'on recherche le code correspondant à un problème qui n'empêche pas la réalisation de l'opération (ex : savoir si on a effectivement supprimé une procédure stockée lorsqu'on utilise DROP PROCEDURE IF EXISTS), il faut utiliser une astuce supplémentaire. En effet, un avertissement ne cause pas l'affichage d'un message à moins qu'on le demande explicitement.
Pour afficher le message correspondant à un avertissement, vous devez utiliser la commande suivante. Prenez note que cette fonction NE DOIT PAS être utilisée à l'intérieur d'une procédure stockée. Elle sera utilisée à la ligne de commande afin de trouver le code de l'avertissement.
SHOW WARNINGS;
Attention : si vous travaillez dans phpMyAdmin, vous devez écrire dans une même fenêtre SQL la commande causant l'avertissement puis la commande SHOW WARNINGS.
Ex :
DROP PROCEDURE IF EXISTS blabla;
SHOW WARNINGS;
Si la procédure n'existe pas, la clause IF EXISTS fera en sorte que phpMyAdmin n'affichera pas d'erreur dans son fameux carré rose. Mais grâce à la commande SHOW WARNINGS, voici ce qui sera affiché :
Si vous travaillez à la ligne de commande, vous pouvez utiliser en tout temps SHOW WARNINGS. Cependant, gardez en tête que SHOW WARNINGS affiche les messages d'avertissement DE LA DERNIÈRE COMMANDE ENTRÉE.
« 113.7.5.40 SHOW WARNINGS Syntax ». MySQL. http://dev.mysql.com/doc/refman/5.7/en/show-warnings.html
▼Publicité