Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan PostgreSQL Saya Membuang Ralat 'Lajur Tidak Wujud' Walaupun Lajur Wujud?

Mengapa Pertanyaan PostgreSQL Saya Membuang Ralat 'Lajur Tidak Wujud' Walaupun Lajur Wujud?

Patricia Arquette
Lepaskan: 2025-01-20 19:51:14
asal
664 orang telah melayarinya

Why Does My PostgreSQL Query Throw a

Ralat "lajur tidak wujud" PostgreSQL: Isu Sensitiviti Kes

Sakit kepala PostgreSQL yang biasa ialah ralat "lajur tidak wujud", walaupun apabila lajur ditakrifkan dengan jelas. Ini selalunya berpunca daripada isu sensitiviti kes. Pertimbangkan contoh ini:

<code class="language-sql">SELECT Continent
FROM network.countries
WHERE Continent IS NOT NULL
AND Continent <> ''
LIMIT 5</code>
Salin selepas log masuk

Pertanyaan yang kelihatan betul ini mungkin kembali:

<code>ERROR: column "continent" does not exist
Hint: Perhaps you meant to reference the column "countries.Continent".
Position: 8</code>
Salin selepas log masuk

Penyelesaian: Penamaan Lajur Tepat dengan Petikan Berganda

Pembetulannya mudah: sertakan nama lajur dalam petikan berganda:

<code class="language-sql">SELECT "Continent"
FROM network.countries
WHERE "Continent" IS NOT NULL
AND "Continent" <> ''
LIMIT 5</code>
Salin selepas log masuk

Dengan memetik dua kali "Continent", anda secara jelas memberitahu PostgreSQL untuk menganggap nama itu sebagai rentetan literal sensitif huruf besar-besaran, mengelakkan salah tafsir.

Mengapa Petikan Dua Kali Penting

PostgreSQL biasanya mengendalikan nama lajur dalam cara yang tidak peka huruf besar-besaran. Walau bagaimanapun, nama lajur yang tidak dipetik sering ditukar kepada huruf kecil secara dalaman. Jika nama lajur anda mempunyai huruf besar bercampur (seperti "Benua") dan anda merujuknya tanpa petikan, PostgreSQL mungkin mencari lajur "benua" huruf kecil, yang membawa kepada ralat. Petikan berganda memastikan padanan yang tepat, menyelesaikan kekaburan.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan