Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan SQL Saya Gagal Kerana Nama Lajur Sensitif Huruf dalam PostgreSQL?

Mengapa Pertanyaan SQL Saya Gagal Kerana Nama Lajur Sensitif Huruf dalam PostgreSQL?

DDD
Lepaskan: 2025-01-13 06:54:44
asal
1000 orang telah melayarinya

Why Does My SQL Query Fail Due to Case-Sensitive Column Names in PostgreSQL?

Sensitiviti huruf besar bagi nama lajur dalam SQL

Pernyataan SQL berikut menyebabkan ralat disebabkan oleh ketidakpadanan huruf nama lajur.

Mesej ralat "lajur "FK_Numbers_id" tidak wujud" menunjukkan bahawa PostgreSQL tidak dapat mencari lajur yang ditentukan dalam jadual. Walau bagaimanapun, selepas menyemak skema jadual, lajur itu wujud, hanya dengan nama yang sedikit berbeza.

Dalam PostgreSQL, nama lajur adalah sensitif huruf besar-besaran. Ini bermakna "FK_Numbers_id" dan "fk_numbers_id" dianggap sebagai lajur yang berbeza. Walau bagaimanapun, skema jadual menunjukkan bahawa lajur itu wujud dan dinamakan "FK_Numbers_id".

Oleh itu, pernyataan SQL yang betul hendaklah:

select sim.id as idsim, 
       num.id as idnum 
from main_sim sim 
  left join main_number num on ("FK_Numbers_id" = num.id);
Salin selepas log masuk

Pernyataan SQL merujuk secara eksplisit nama lajur sensitif huruf besar-kecil dalam skema jadual dengan melampirkan nama lajur dalam petikan berganda. Ini menyelesaikan ralat dan membolehkan pertanyaan berjalan dengan jayanya.

Atas ialah kandungan terperinci Mengapa Pertanyaan SQL Saya Gagal Kerana Nama Lajur Sensitif Huruf dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan