Ich schreibe eine Java
Anwendung zum automatischen Erstellen und Ausführen von SQL-Abfragen. Für viele Tabellen mein Code funktioniert gut, aber an einem bestimmten Tisch wird es durch das Werfen die folgende Ausnahme fest:PostgreSQL "Spalte existiert nicht", aber es tut tatsächlich
Exception in thread "main" org.postgresql.util.PSQLException: ERROR: column "continent" does not exist
Hint: Perhaps you meant to reference the column "countries.Continent".
Position: 8
Die Abfrage, die ausgeführt wurde ist die folgende:
SELECT Continent
FROM network.countries
WHERE Continent IS NOT NULL
AND Continent <> ''
LIMIT 5
Diese im Wesentlichen kehrt 5
nicht -leere Werte aus der Spalte
Ich verstehe nicht, warum ich den Fehler "Spalte nicht existiert" bekomme, wenn es eindeutig in pgAdmin 4 tut. Ich kann sehen, dass es ein Schema mit dem Namen Network
gibt, das die Tabelle countries
enthält und diese Tabelle genau wie erwartet eine Spalte mit dem Namen Continent
hat.
Da alle Spalten-, Schema- und Tabellennamen von der Anwendung selbst abgerufen werden, glaube ich nicht, dass es eine Rechtschreibung oder einen semantischen Fehler gegeben hat. Warum verursacht unabhängig davon Probleme? Das Ausführen der Abfrage in pgAdmin4 noch die Verwendung des vorgeschlagenen countries.Continent
funktioniert.
Meine PostgreSQL-Version ist der neueste Stand jetzt:
$ psql --version
psql (PostgreSQL) 9.6.1
Wie kann ich die Abfrage erfolgreich ausgeführt?
Bitte [Bearbeiten] Ihre Frage ein und fügen Sie die 'table'-Anweisung für die Tabelle' Länder 'erstellen. –
PostgreSQL unterscheidet zwischen Groß- und Kleinschreibung –
@wingedpanther: Es ist ** nur ** Groß-und Kleinschreibung, wenn Sie diese gefürchteten zitierten Bezeichner verwenden. –