Aller au contenu

Quote et quote


francoisch

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...