Heim > Datenbank > MySQL-Tutorial > Wie entkomme ich schlüsselwortähnliche Spaltennamen in PostgreSQL?

Wie entkomme ich schlüsselwortähnliche Spaltennamen in PostgreSQL?

Linda Hamilton
Freigeben: 2025-01-14 06:30:43
Original
496 Leute haben es durchsucht

How Do I Escape Keyword-Like Column Names in PostgreSQL?

Bei der Verarbeitung von Tabellen in PostgreSQL stoßen wir möglicherweise auf Spaltennamen, die Schlüsselwörtern in der SQL-Sprache ähneln. Dies kann beim Schreiben von Abfragen zu Fehlern führen, da PostgreSQL möglicherweise versucht, Spaltennamen als Schlüsselwörter und nicht als Bezeichner zu interpretieren.

Um dieses Problem zu lösen, können wir den Spaltennamen in doppelte Anführungszeichen setzen, ihn so maskieren und verhindern, dass PostgreSQL ihn mit einem Schlüsselwort verwechselt.

Betrachten Sie beispielsweise die folgende Tabelle:

<code class="language-sql">CREATE TABLE my_table (id SERIAL PRIMARY KEY, name TEXT, year INTEGER);</code>
Nach dem Login kopieren

Angenommen, wir möchten eine neue Zeile in diese Tabelle einfügen und die Spalte „Jahr“ auf einen bestimmten Wert festlegen. Wenn wir die Abfrage wie folgt schreiben:

<code class="language-sql">INSERT INTO my_table (id, name, year) VALUES (1, 'John Doe', 1990);</code>
Nach dem Login kopieren

Wir erhalten Fehler in der Nähe des Schlüsselworts „year“, weil PostgreSQL versucht, es als reserviertes Wort zu interpretieren.

Um dies zu beheben, schließen wir „Jahr“ einfach in doppelte Anführungszeichen ein:

<code class="language-sql">INSERT INTO my_table (id, name, "year") VALUES (1, 'John Doe', 1990);</code>
Nach dem Login kopieren

Indem wir den Spaltennamen in Anführungszeichen setzen, weisen wir PostgreSQL an, ihn als Bezeichner und nicht als Schlüsselwort zu behandeln, sodass wir seinen Wert erfolgreich festlegen können.

Laut der PostgreSQL-Dokumentation ist ein „getrennter Bezeichner“ oder „quotierter Bezeichner“ ein Bezeichner, der in doppelte Anführungszeichen eingeschlossen ist. Sie werden immer als Identifikatoren erkannt und können nicht mit Schlüsselwörtern verwechselt werden. Dadurch können wir Schlüsselwörter als Spalten- oder Tabellennamen verwenden, ohne dass Fehler auftreten.

Das obige ist der detaillierte Inhalt vonWie entkomme ich schlüsselwortähnliche Spaltennamen in PostgreSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage