ホームページ >データベース >mysql チュートリアル >PostgreSQL のテーブル名と列名を数字で始めることができないのはなぜですか?

PostgreSQL のテーブル名と列名を数字で始めることができないのはなぜですか?

DDD
DDDオリジナル
2024-12-30 21:35:12595ブラウズ

Why Can't PostgreSQL Table and Column Names Start with Numbers?

PostgreSQL のテーブルと列の命名規則: 根拠

「15909434_user」という名前のテーブルを作成しようとしたときに、エラーが発生しました。調査の結果、PostgreSQL の命名規則では、名前が数字で始まるオブジェクトを禁止していることが明らかになりました。これにより、この制限の背後にある理由を調べることになりました。

SQL-92 標準によれば、識別子の開始文字は単純なラテン文字である必要があります。この規則により、特に SELECT リスト句で列名と数値式を区別する場合に、SQL クエリの解析が簡素化されます。

次のクエリを考えてみましょう:

SELECT 2e2 + 3.4 FROM ...

数値文字が許可されている場合識別子のスターターとして、パーサーは、「2e2」が列名なのか数値なのか、また「3.4」が列名を表しているのかを判断するのに苦労します。テーブル "3" と列 "4"、または数値 3.4.

識別子は数値以外の文字で始まらなければならないというルールに従うことで、パーサーは識別子 (列名) と数値式をすばやく区別できます。 .

数字の先頭文字を許可するスキームを考案することは理論的には可能ですが、より複雑でわかりにくい解析になる可能性があります。

その結果、PostgreSQL はテーブル名と列名が数字で始まることを禁止する SQL 規約を採用し、効率的なクエリ解析と SQL コードの明確さを確保します。

以上がPostgreSQL のテーブル名と列名を数字で始めることができないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。