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é 6 fois Voir les 4 commentaires
Détails
Avatar de Malick SECK
Community Manager
Voir tous les téléchargements de l'auteur
Licence : Freeware
Date de mise en ligne : 24 décembre 2016




Avatar de Malick Malick - Community Manager https://www.developpez.com
le 13/01/2014 à 16:10
Bonjour,

Je vous propose un nouvel élément à utiliser : Utilisation du caractère double quote (guillemet)

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:

Code : Sélectionner tout
1
2
3
4
5
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 côtes

Qu'en pensez-vous ?
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 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.