Heim >Datenbank >MySQL-Tutorial >Warum können PostgreSQL-Tabellen- und Spaltennamen nicht mit Zahlen beginnen?

Warum können PostgreSQL-Tabellen- und Spaltennamen nicht mit Zahlen beginnen?

DDD
DDDOriginal
2024-12-30 21:35:12578Durchsuche

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

Konventionen zur Benennung von Tabellen und Spalten in PostgreSQL: Die Begründung

Beim Versuch, eine Tabelle mit dem Namen „15909434_user“ zu erstellen, ist ein Fehler aufgetreten. Untersuchungen ergaben, dass die Namenskonvention von PostgreSQL Objekte verbietet, deren Namen mit Zahlen beginnen. Dies hat Sie dazu veranlasst, die Gründe für diese Einschränkung zu untersuchen.

Gemäß dem SQL-92-Standard müssen Bezeichner-Startzeichen einfache lateinische Buchstaben sein. Diese Konvention vereinfacht das Parsen von SQL-Abfragen, insbesondere bei der Unterscheidung zwischen Spaltennamen und numerischen Ausdrücken in der SELECT-list-Klausel.

Bedenken Sie die folgende Abfrage:

SELECT 2e2 + 3.4 FROM ...

Wenn numerische Zeichen zulässig wären Als Bezeichner-Starter würde der Parser Schwierigkeiten haben, festzustellen, ob „2e2“ ein Spaltenname oder eine Zahl ist und ob „3.4“ die Tabelle „3“ darstellt und Spalte „4“ oder der numerische Wert 3.4.

Durch die Einhaltung der Regel, dass Bezeichner mit nicht numerischen Zeichen beginnen müssen, kann der Parser schnell zwischen Bezeichnern (Spaltennamen) und numerischen Ausdrücken unterscheiden.

Obwohl die Entwicklung eines Schemas, das numerische Anfangszeichen zulässt, theoretisch möglich ist, würde dies wahrscheinlich zu einer komplexeren und undurchsichtigeren Analyse führen Regeln.

Daher übernimmt PostgreSQL die SQL-Konvention, die verbietet, dass Tabellen- und Spaltennamen mit numerischen Zeichen beginnen, um eine effiziente Abfrageanalyse und Klarheit im SQL-Code sicherzustellen.

Das obige ist der detaillierte Inhalt vonWarum können PostgreSQL-Tabellen- und Spaltennamen nicht mit Zahlen beginnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn