Maison > base de données > tutoriel mysql > Pourquoi les noms de tables ou de colonnes de bases de données ne peuvent-ils pas commencer par des nombres ?

Pourquoi les noms de tables ou de colonnes de bases de données ne peuvent-ils pas commencer par des nombres ?

DDD
Libérer: 2024-12-19 18:04:11
original
421 Les gens l'ont consulté

Why Can't Database Table or Column Names Start with Numbers?

Les noms de tables ou de colonnes ne peuvent pas commencer par des chiffres : la raison sous-jacente

Lorsque vous essayez de créer une table avec un nom tel que "15909434_user", vous rencontrez l'erreur "Table ou le nom de la colonne ne peut pas commencer par un chiffre." Cela soulève la question de savoir pourquoi cette convention existe.

Selon la documentation PostgreSQL, les noms d'objets dans la base de données suivent le « type de nom », ce qui nécessite qu'ils commencent par une lettre ou un trait de soulignement et soient constitués de caractères alphanumériques et des traits de soulignement par la suite.

Pour contourner cette restriction, des guillemets doubles peuvent être utilisés pour envelopper le nom de la table, le transformant en un « identifiant entre guillemets ». Cependant, il est important de noter que les guillemets doubles ne sont pas considérés comme faisant partie du nom et ne comptent pas dans la limite de 63 caractères.

La raison derrière cette convention découle des normes SQL d'origine. Le bloc « identifiant start » des normes précise qu'un identifiant doit avant tout commencer par une simple lettre latine. Cette règle simplifie le processus d'analyse pour les interpréteurs SQL.

Dans le cas de la clause SELECT-list, qui autorise à la fois les noms de colonnes simples et les expressions numériques, l'application de cette convention aide l'analyseur à différencier les deux. Par exemple, si les noms de table et de colonne pouvaient commencer par des chiffres, "2e2" pourrait être interprété à la fois comme un nom de colonne et une expression numérique valide.

En ayant pour règle selon laquelle les identifiants commencent par des lettres, l'analyseur peut rapidement discerner que « 2e2 » est une expression numérique et « 3.4 » est une valeur numérique, plutôt que des noms de tables ou de colonnes.

Lors de l'élaboration d'un schéma pour autoriser les caractères numériques principaux serait possible, cela pourrait entraîner des règles plus obscures et des complexités syntaxiques. La convention actuelle fournit une solution claire et simple au problème, garantissant une analyse efficace et évitant les ambiguïtés potentielles.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal