sql >> Database teknologi >  >> RDS >> PostgreSQL

Kan ikke blot bruge PostgreSQL tabelnavn (relation eksisterer ikke)

Ud fra hvad jeg har læst, betyder denne fejl, at du ikke refererer til tabelnavnet korrekt. En almindelig årsag er, at tabellen er defineret med en blandet stavemåde, og du forsøger at forespørge den med små bogstaver.

Med andre ord fejler følgende:

CREATE TABLE "SF_Bands" ( ... );

SELECT * FROM sf_bands;  -- ERROR!

Brug dobbelte anførselstegn til at afgrænse identifikatorer, så du kan bruge den specifikke stavemåde med blandede store og små bogstaver, som tabellen er defineret.

SELECT * FROM "SF_Bands";

I din kommentar kan du tilføje et skema til "søgestien", så når du refererer til et tabelnavn uden at kvalificere dets skema, vil forespørgslen matche det tabelnavn ved at markere hvert skema i rækkefølge. Ligesom PATH i skallen eller include_path i PHP osv. Du kan tjekke din aktuelle skemasøgesti:

SHOW search_path
  "$user",public

Du kan ændre din skemasøgesti:

SET search_path TO showfinder,public;

Se også http://www.postgresql.org/docs/8.3/static/ddl-schemas.html



  1. Kan jeg have en fremmednøgle, der refererer til en kolonne i en visning i SQL Server?

  2. Hvordan kontrollerer man, om radioknappen er markeret eller valgt i jQuery?

  3. Sådan opretter du forbindelse til MySQL ved hjælp af Perl

  4. Sådan opretter du en beregnet kolonne i SQLite