Utilisation du caractère double quote (guillemet)

Présentation
Lorsqu’un nom d’un élément d’une base de données (table, colonne par exemple) est identique à un mot clef du SQL, il convient de l’entourer de guillemets (double quote). En principe, les mots réservés du SQL sont déconseillés pour nommer des objets du modèle physique de données...

Imaginons une table de nom JOIN, composée des champs suivants :

NOM SELECT DATE NOT
------- ------ ------- ---
DURAND Oui 1999-11-12 F
DUVAL Non 1998-01-17 M

nous désirons sélectionner les colonnes SELECT et DATE lorsque la colonne NOT vaut F...
la requête suivante va renvoyer une erreur:
SELECT SELECT, DATE
FROM JOIN
WHERE NOT = 'F'

Pour que la requête s'exécute correctement, il faudra entourer les mots clefs du SQL par des doubles quotes
Téléchargement
Compatibilité
Windows
0  0 
Téléchargé 10 fois Voir les 4 commentaires
Détails
Avatar de Malick SECK
Community Manager
Voir tous les téléchargements de l'auteur
Licence : Gratuit
Date de mise en ligne : 24 décembre 2016




Avatar de m4riachi m4riachi - Membre éprouvé https://www.developpez.com
le 15/01/2014 à 17:40
phpmyadmin utilise un autre caractère pour éviter ça, et pour laisser la double quote pour entourer la requête (sous php par exemple)
Code : Sélectionner tout
SELECT * FROM `JOIN` WHERE 1
ce n'est pas une apostrophe.
Avatar de Malick Malick - Community Manager https://www.developpez.com
le 17/01/2014 à 17:15
Merci pour la précision
Avatar de SQLpro SQLpro - Rédacteur https://www.developpez.com
le 18/01/2014 à 11:24
Citation Envoyé par m4riachi  Voir le message
phpmyadmin utilise un autre caractère pour éviter ça, et pour laisser la double quote pour entourer la requête (sous php par exemple)
Code : Sélectionner tout
SELECT * FROM `JOIN` WHERE 1
ce n'est pas une apostrophe.

Oui, mais c'est une bétise, vu que la norme SQL impose le " !
Or " fonctionne sur tous les SGBD Relationnel. Mais pour emmerder le monde, MySQL utilise ` pour se rendre sciemment incompatible avec les autres SGBDR....
Cela fait parties des nombreuses aberrations, stupidités et bugs de cet ersatz de SGBDR qu'est MySQL !
A lire : http://blog.developpez.com/sqlpro/p9...oudre_aux_yeux

A +
Avatar de Malick Malick - Community Manager https://www.developpez.com
le 23/01/2014 à 13:20
Citation Envoyé par SQLpro  Voir le message
Oui, mais c'est une bétise, vu que la norme SQL impose le " !
Or " fonctionne sur tous les SGBD Relationnel. Mais pour emmerder le monde, MySQL utilise ` pour se rendre sciemment incompatible avec les autres SGBDR....
Cela fait parties des nombreuses aberrations, stupidités et bugs de cet ersatz de SGBDR qu'est MySQL !
A lire : http://blog.developpez.com/sqlpro/p9...oudre_aux_yeux

A +

Bonjour, merci pour l'intervention et la clarification par rapport aux normes SQL.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Contacter le responsable de la rubrique MySQL