Heim >Datenbank >MySQL-Tutorial >Warum können PostgreSQL-Tabellen- und Spaltennamen nicht mit Zahlen beginnen?
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!