francoisch Posté 7 Juillet 2011 Posté 7 Juillet 2011 Bonjour Jai une difficulté avec une requête dune grande simplicité, comme jen ai fait dautres auparavant. Je teste cette requête avec la fonction Insérer de PhpMyAdmin, voici la requête générée : INSERT INTO`fctestbase1`.`esp1expression` (`sequence`,`action`,`objet`)VALUES (NULL,'lire','un livre'); Autant dire que la table existe, que les colonnes existent. En modifiant un peu la requête générée et en la mettant dans la fenêtre Sql, ça fonctionne aussi : INSERT INTO `esp1expression` (`sequence`,`action`,`objet`)VALUES (NULL,'lire','un livre') En modifiant encore un peu la requête générée, ça fonctionne encore : INSERT INTO `esp1expression` (`action`,`objet`)VALUES ('lire','un livre') Ca fonctionne toujours : INSERT INTO esp1expression ( `action`, `objet` )VALUES ( 'lire', 'un livre') Par contre, cette requête ne fonctionne pas : INSERT INTO esp1expression ( 'action', 'objet' ) VALUES ( 'lire', 'un livre' ) Le message derreur : 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''action', 'objet' ) VALUES ( 'lire', 'un livre' )' at line 1 Il semble que les remplacements du signe par le signe ` autour de action et objet fasse la différence. A votre avis ? Merci par avance de votre aide. Francois
jcaron Posté 7 Juillet 2011 Posté 7 Juillet 2011 Ben c'est bien normal, le backtick (`) permet de "quoter" un identifiant (nom de table, de colonne...) alors que ' encadre un "string litteral" (une constante textuelle). />http://dev.mysql.com/doc/refman/5.1/en/string-syntax.html/>http://dev.mysql.com/doc/refman/5.1/en/identifiers.html Par exemple, je te propose: SELECT 'colonne' FROM table SELECT `colonne` FROM table Si les deux voulaient dire la même chose, comment mysql saurait-il si tu veux le contenu de la colonne "colonne" ou le texte "colonne"? Note qu'en SQL ANSI (i.e. avec ANSI_QUOTES activé), c'est " et ' respectivement. Jacques.
francoisch Posté 7 Juillet 2011 Auteur Posté 7 Juillet 2011 bonjour Jacques et merci de ta réponse. J'ignorais complètement l'utilisation, différente, de ces deux "apostrophes", même si ce nom n'est pas exact. J'ai encore appris qqechose. Merci à toi. Francois
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant