Lösung für die PostgreSQL-Abfrage, die den Fehler „Beziehung existiert nicht“ zurückgibt
Das Auftreten von „Beziehung existiert nicht“-Fehlern beim Ausführen von Datenbankabfragen in PHP kann verwirrend sein, insbesondere wenn die Tabellennamen korrekt sind. Dieses Problem entsteht normalerweise durch inkonsistente Groß- und Kleinschreibung in Tabellennamen.
Der Schlüssel besteht darin, zu überprüfen, ob der Tabellenname genau so geschrieben ist, wie er in der Datenbank steht. Wenn der Tabellenname beispielsweise Groß- und Kleinschreibung enthält, müssen Sie den Tabellennamen in der Abfrage in doppelte Anführungszeichen setzen. Dadurch wird die exakte Groß-/Kleinschreibung der von der Abfrage referenzierten Tabelle sichergestellt. Wenn die Tabelle also als „SF_Bands“ definiert ist, sollte die Abfrage wie folgt lauten:
<code class="language-sql">SELECT * FROM "SF_Bands";</code>
Alternativ können Sie Probleme mit der Groß-/Kleinschreibung vermeiden, indem Sie „search_path“ so ändern, dass er das gewünschte Muster enthält. Dadurch können Sie auf einen Tabellennamen verweisen, ohne dessen Schema angeben zu müssen, und die Abfrage durchsucht das Schema nacheinander, bis die Tabelle gefunden wird. Um den Suchpfad festzulegen, führen Sie den folgenden Befehl aus:
<code class="language-sql">SET search_path TO showfinder,public;</code>
Denken Sie daran, „showfinder“ im Befehl anzupassen, um den Schemanamen der Tabelle einzuschließen. Durch die Änderung von „search_path“ können Sie vermeiden, dass beim Verweisen auf eine Tabelle ein Schema angegeben werden muss, und somit fallbezogene Fehler minimieren.
Weitere Informationen zur Einstellung „search_path“ finden Sie in der PostgreSQL-Dokumentation:
https://www.php.cn/link/d7323519970d0e3680ef5fa1edfe0e56
Das obige ist der detaillierte Inhalt vonWarum gibt meine PostgreSQL-Abfrage trotz des korrekten Tabellennamens den Fehler „Beziehung existiert nicht' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!