PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Tidak bisa begitu saja menggunakan nama tabel PostgreSQL (relasi tidak ada)

Dari apa yang saya baca, kesalahan ini berarti Anda tidak mereferensikan nama tabel dengan benar. Salah satu alasan umum adalah bahwa tabel didefinisikan dengan ejaan huruf kecil campuran, dan Anda mencoba untuk menanyakannya dengan semua huruf kecil.

Dengan kata lain, berikut ini gagal:

CREATE TABLE "SF_Bands" ( ... );

SELECT * FROM sf_bands;  -- ERROR!

Gunakan tanda kutip ganda untuk membatasi pengidentifikasi sehingga Anda dapat menggunakan ejaan huruf campuran tertentu saat tabel didefinisikan.

SELECT * FROM "SF_Bands";

Kembali ke komentar Anda, Anda dapat menambahkan skema ke "search_path" sehingga ketika Anda mereferensikan nama tabel tanpa memenuhi syarat skemanya, kueri akan mencocokkan nama tabel itu dengan memeriksa setiap skema secara berurutan. Sama seperti PATH di shell atau include_path di PHP, dll. Anda dapat memeriksa jalur pencarian skema Anda saat ini:

SHOW search_path
  "$user",public

Anda dapat mengubah jalur pencarian skema Anda:

SET search_path TO showfinder,public;

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemantauan PostgreSQL Proaktif (Sudut Pengembang Studio/Penasihat)

  2. PostgreSQL:mengekspor data yang dihasilkan dari kueri SQL ke Excel/CSV

  3. Bagaimana statement_timestamp() Bekerja di PostgreSQL

  4. Cegah pemicu rekursif di PostgreSQL

  5. Kesalahan PostgreSQL 'Tidak dapat terhubung ke server:Tidak ada file atau direktori seperti itu'