Certaines bases de données SQL utilisent
'--
' comme début de commentaire. Le serveur
MySQL utilise ‘#
’. Vous pouvez
aussi utiliser la syntaxe du langage C /* ceci est un
commentaire */
. See Section 9.5, « Syntaxe des commentaires ».
MySQL version 3.23.3 et plus récent supporte les commentaires
de type '--
', si ce commentaire est suivi
d'un espace. Ceci est dû au fait que ce type de commentaire a
causé beaucoup de problèmes avec les requêtes générées
automatiquement, qui contiennent du code tel que celui-ci, où
nous insérons automatiquement la valeur du paiement dans la
table !payment!
:
UPDATE tbl_name SET credit=credit-!payment!
Pensez à ce qui se passe lorsque la valeur de
payment
est négative, comme
-1
:
UPDATE account SET credit=credit--1
credit--1
est une expression légale en SQL
mais --
est interprété comme un commentaire
et la fin de l'expression est ignorée. Le résultat est que
la commande prend une signification complètement
différente :
UPDATE account SET credit=credit
La commande ne produit aucun changement! Cela montre que
l'utilisation des commentaires de type '--
'
peuvent avoir des conséquences graves.
En utilisant notre implémentation des commentaires avec le
serveur MySQL version 3.23.3 et plus récent, 1--
ceci est un commentaire
ne pose pas ce type de
problème.
Une autre fonctionnalité supplémentaire est que le client en
ligne de commande mysql
supprime toutes les
lignes qui commencent par '--
'.
Les informations suivantes sont destinées aux utilisateurs de MySQL avec des versions antérieures à la version 3.23.3 :
Si vous avez un programme SQL dans un fichier texte qui
contient des commentaires au format '--
', il
est recommandé d'utiliser l'utilitaire
replace
pour assurer la conversion en
caractères ‘#
’ :
shell>replace " --" " #" < text-file-with-funny-comments.sql \
| mysql database
au lieu du classique :
shell> mysql database < text-file-with-funny-comments.sql
Vous pouvez aussi éditer le fichier de commande ``lui-même''
pour remplacer les commentaires '--
' par des
commentaires ‘#
’ :
shell> replace " --" " #" -- text-file-with-funny-comments.sql
Puis, rétablissez-les avec :
shell> replace " #" " --" -- text-file-with-funny-comments.sql
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.