Beim Erstellen von Abfragen in PostgreSQL kann es zu Fehlern kommen, wenn Sie auf Spaltennamen wie reservierte Schlüsselwörter stoßen. Zum Beispiel die Spalte „Jahr“.
Der Versuch, eine INSERT-Abfrage mit der Spalte „Jahr“ auszuführen, führt zu einem Fehler wie diesem:
<code class="language-sql">INSERT INTO table (id, name, year) VALUES ( ... );</code>
Um dieses Problem zu beheben, schließen Sie den Spaltennamen „Jahr“ in doppelte Anführungszeichen ein:
<code class="language-sql">INSERT INTO table (id, name, "year") VALUES ( ... );</code>
Doppelte Anführungszeichen werden verwendet, um getrennte Bezeichner zu definieren, die verhindern, dass PostgreSQL den eingeschlossenen Text als Schlüsselwort interpretiert. Dadurch können Sie Spaltennamen verwenden, die reservierte Wörter enthalten, ohne einen Fehler auszulösen.
Wie in der PostgreSQL-Dokumentation angegeben:
"Der zweite Typ von Bezeichnern ist ein durch Trennzeichen oder Anführungszeichen getrennter Bezeichner. Er wird gebildet, indem eine beliebige Zeichenfolge in doppelte Anführungszeichen gesetzt wird ("). Begrenzte Bezeichner sind immer Bezeichner, keine Schlüsselwörter. Daher kann „select“ verwendet werden, um auf eine Spalte oder Tabelle mit dem Namen „select“ zu verweisen, und „select“ ohne Anführungszeichen wird als Schlüsselwort behandelt …“
Das obige ist der detaillierte Inhalt vonWie kann ich schlüsselwortähnliche Spaltennamen (z. B. „Jahr') in PostgreSQL-INSERT-Anweisungen maskieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!