sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLテーブル名を単純に使用することはできません(関係は存在しません)

    私が読んだところによると、このエラーは、テーブル名を正しく参照していないことを意味します。一般的な理由の1つは、テーブルが大文字と小文字が混在するスペルで定義されており、すべて小文字でクエリしようとしていることです。

    つまり、次のように失敗します。

    CREATE TABLE "SF_Bands" ( ... );
    
    SELECT * FROM sf_bands;  -- ERROR!
    

    表の定義時に特定の大文字と小文字が混在するスペルを使用できるように、二重引用符を使用して識別子を区切ります。

    SELECT * FROM "SF_Bands";
    

    コメントについては、「search_path」にスキーマを追加して、スキーマを修飾せずにテーブル名を参照するときに、クエリが各スキーマを順番にチェックすることでそのテーブル名と一致するようにすることができます。 PATHと同じように シェルまたはinclude_path PHPなどで。現在のスキーマ検索パスを確認できます:

    SHOW search_path
      "$user",public
    

    スキーマ検索パスを変更できます:

    SET search_path TO showfinder,public;
    

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

    も参照してください。

    1. SQL Server(T-SQL)で角かっこを使用して負の値をフォーマットする方法

    2. EBS WebLogicDomainR12.2で紛失または忘れた管理者パスワードを変更する手順

    3. pgAdminの代替-PostgreSQLデータベース管理GUIClusterControl

    4. SQL ServerのDECODE()関数