Syntaxe des commentaires
<<<
Cas des mots réservés MySQL Manuel de Référence MySQL 4.1 : Version Française
>>>

10 Structure du langage
 Manuel de Référence MySQL 4.1 : Version Française

Littéraux : comment écrire les chaînes et les nombres
Noms de bases, tables, index, colonnes et alias
Variables utilisateur
Variables système
Syntaxe des commentaires
->Cas des mots réservés MySQL

10.6 Cas des mots réservés MySQL

Un problème récurrent provient de la tentative de création de tables avec des noms de colonnes qui sont des types de champs ou des fonctions natives de MySQL, comme TIMESTAMP ou GROUP . Il vous st permis de le faire (par exemple ABS est permis comme nom de colonne), mais les espaces ne sont pas permis entre le nom d'une fonction et la première '(' suivante lors de l'utilisation de fonctions qui sont aussi des noms de colonnes.

Un effet secondaire de ce comportement est que l'omission d'espace dans certains contexte fait que l'identifiant est interprété comme un nom de fonction. Par exemple, cette commande est valide :

mysql> CREATE TABLE abs (val INT);
Mais omettre l'espace après abs génère une erreur de syntaxe, car la commande semble utiliser la fonction ABS() :

mysql> CREATE TABLE abs(val INT);
Si vous lancez le serveur l'option de mode IGNORE_SPACE , le serveur autorisera l'appel de fonction avec un espace entre le nom de la fonction et le caractère de parenthèse ouvrante '(' suivant. Les noms de fonctions sont alors considérés comme des mots réservés. Comme pour les résultats, les noms de colonnes qui sont identiques au nom de fonctions doivent être placés entre guillemets, tels que décrit dans Noms de base de données, tables, index, colonnes et alias . Le mode SQL du serveur est contrôlé par la procédure de la section Choisir son mode SQL .

Les mots suivants sont explicitement réservés en MySQL. La plupart sont interdits par ANSI SQL92 en tant que nom de colonnes ou de tables (par exemple, GROUP ). Quelques uns sont réservés parce que MySQL en a besoin et utilise (actuellement) un analyseur yacc :

Les symboles suivants (issus de la table ci-dessus) sont interdits par ANSI SQL mais permis par MySQL en tant que noms de colonnes ou de tables. Cela est dû au fait que ces noms sont très courants, et de nombreux programmeur les ont déjà utilisés.
  • ACTION
  • BIT
  • DATE
  • ENUM
  • NO
  • TEXT
  • TIME
  • TIMESTAMP

<< Cas des mots réservés MySQL >>
Syntaxe des commentaires Structure du langage Manuel de Référence MySQL 4.1 : Version Française