Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt meine PostgreSQL-Abfrage mit der Meldung „Spaltenname existiert nicht' fehl?

Warum schlägt meine PostgreSQL-Abfrage mit der Meldung „Spaltenname existiert nicht' fehl?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 09:12:11364Durchsuche

Why Does My PostgreSQL Query Fail with

Postgresql-Fehler: Spaltenname existiert nicht

In dieser Abfrage:

SELECT * 
FROM employee 
WHERE "lName" LIKE "Smith"

Die Fehlermeldung „Spalte „Smith existiert nicht“ weist darauf hin, dass der in der LIKE-Klausel verwendete Spaltenname falsch ist. Der LIKE-Operator erfordert die Angabe eines Platzhalterzeichens im Suchmuster. In diesem Fall fehlt das Platzhalterzeichen, was dazu führt, dass der Spaltenname wörtlich interpretiert wird.

Um das Problem zu beheben, verwenden Sie einfache Anführungszeichen um das Suchmuster, um ein Zeichenfolgenliteral anzugeben und ein Platzhalterzeichen einzufügen. Zum Beispiel:

SELECT * 
FROM employee 
WHERE "lName" LIKE 'Smith%'

Beachten Sie, dass die einfachen Anführungszeichen ein Zeichenfolgenliteral angeben, während die doppelten Anführungszeichen einen Bezeichner (in diesem Fall den Spaltennamen) angeben. Durch die Verwendung von einfachen Anführungszeichen für das Suchmuster können Sie auch Großbuchstaben im Spaltennamen verwenden, ohne dass zusätzliche Anführungszeichen erforderlich sind.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine PostgreSQL-Abfrage mit der Meldung „Spaltenname existiert nicht' fehl?. 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