Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan PostgreSQL Saya Gagal dengan 'Lajur \'Benua\' Tidak Wujud' Walaupun Lajur Wujud?

Mengapa Pertanyaan PostgreSQL Saya Gagal dengan 'Lajur \'Benua\' Tidak Wujud' Walaupun Lajur Wujud?

Susan Sarandon
Susan Sarandonasal
2025-01-20 19:58:12623semak imbas

Why Does My PostgreSQL Query Fail with

Ralat pangkalan data PostgreSQL: Lajur 'Benua' tidak wujud

Latar belakang masalah:

Aplikasi Java mengalami ralat semasa menanyakan pangkalan data bahawa lajur "Benua" tidak wujud dalam jadual tertentu, walaupun mengesahkan bahawa lajur itu wujud dalam pgAdmin 4. Pertanyaan cuba memilih nilai bukan nol daripada lajur ini.

Diagnosis Masalah:

  • Disahkan melalui pgAdmin 4 bahawa lajur "Benua" memang wujud dalam jadual "network.countries".
  • Pertanyaan menunjukkan bahawa aplikasi memperoleh nama lajur dan jadual dengan betul, tidak termasuk ralat ejaan atau semantik.
  • Mesej ralat membayangkan bahawa nama lajur mungkin perlu dirujuk menggunakan skema atau jadual yang berbeza.

Penyelesaian:

Selesaikan isu ini dengan mengelilingi nama lajur dalam petikan berganda dalam pertanyaan:

<code class="language-sql">SELECT "Continent"
FROM network.countries
...</code>

PostgreSQL memerlukan nama lajur mesti disertakan dalam petikan berganda apabila ia mengandungi aksara khas atau bercanggah dengan kata kunci. Dalam kes ini, "Benua" ialah kata kunci simpanan dalam PostgreSQL, jadi ia perlu disertakan dalam petikan.

Nota tambahan:

  • Menjalankan pertanyaan terus dalam pgAdmin 4 mungkin tidak menghadapi ralat yang sama, kerana antara muka mengendalikan petikan secara automatik.
  • Menggunakan "countries.Continent" dalam pertanyaan juga mungkin berfungsi, tetapi ini memperkenalkan pergantungan pada corak "countries". Membungkus nama lajur dalam petikan berganda menyediakan penyelesaian yang lebih umum yang berfungsi tanpa mengira skema jadual tersebut.

Atas ialah kandungan terperinci Mengapa Pertanyaan PostgreSQL Saya Gagal dengan 'Lajur \'Benua\' Tidak Wujud' Walaupun Lajur Wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn