Pourquoi les noms de tables ou de colonnes ne peuvent-ils pas commencer par des chiffres ?
Lors de la création d'objets dans PostgreSQL, tels que des tables ou des colonnes, il est nécessaire de leur donner des noms. Ces noms doivent répondre à certains critères, notamment la restriction selon laquelle ils ne peuvent pas commencer par un caractère numérique.
Raison de la restriction
Cette convention découle des standards SQL d'origine, qui précisent que les identifiants (y compris les noms d'objet) doivent commencer par une lettre ou un trait de soulignement. Cette décision de conception a été principalement prise pour simplifier l'analyse.
Défis d'analyse
Si les caractères numériques étaient autorisés au début de l'identifiant, cela créerait une ambiguïté dans la syntaxe SQL. Par exemple, dans la clause SELECT-list suivante :
SELECT 2e2 + 3.4 FROM ...
Il ne serait pas clair si "2e2" fait référence à un nom de table ou à une expression numérique, et "3.4" pourrait potentiellement être interprété comme la valeur numérique ou le nom de la table "3" et le nom de la colonne "4".
Conclusion
L'application de cette restriction garantit une distinction claire entre les noms d'objets et les autres éléments SQL, rendant le processus d'analyse plus efficace et sans ambiguïté. Même si cela peut sembler une limitation mineure, cela permet de maintenir la cohérence et la facilité d'utilisation du langage SQL. Pour contourner cette restriction, il est possible de mettre les noms entre guillemets, comme le montre l'exemple :
CREATE TABLE "15909434_user" ( ... )
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!