Postgresql-Anweisungsfehler: Spaltenname existiert nicht
In PostgreSQL-Datenbanken kann die Fehlermeldung „Spaltenname existiert nicht“ auftreten beim Versuch, eine Abfrage mit einem bestimmten Spaltennamen in Anführungszeichen auszuführen.
Problem Beschreibung:
Der Benutzer hat ein Problem beim Abfragen einer einfachen PostgreSQL-Datenbank mit einer Tabelle, die eine Spalte mit dem Namen „lName“ (Großbuchstabe N) enthält. Trotz der erforderlichen Angabe des Spaltennamens wird ein Fehler zurückgegeben, der darauf hinweist, dass die Spalte „Smith“ nicht vorhanden ist.
Lösung:
Das Problem liegt in der falschen Angabe Format des in der LIKE-Klausel verwendeten Zeichenfolgenliterals. In PostgreSQL müssen Zeichenfolgenliterale in einfache Anführungszeichen (') und nicht in doppelte Anführungszeichen (") eingeschlossen werden.
Richtige Abfrage:
SELECT * FROM employee WHERE "lName" LIKE 'Smith'
Erklärung :
Doppelte Anführungszeichen (") innerhalb der LIKE-Klausel bezeichnen einen Bezeichner in Anführungszeichen, kein Zeichenfolgenliteral. Daher interpretierte die Abfrage fälschlicherweise „Smith“ als Spaltennamen und nicht als Zeichenfolgenvergleichswert.
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWarum gibt meine PostgreSQL-Abfrage trotz der Verwendung von Anführungszeichen „Spaltenname existiert nicht' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!