Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan SQL Saya Gagal Kerana Nama Lajur Sensitif Huruf dalam 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:
<code class="language-sql">select sim.id as idsim, num.id as idnum from main_sim sim left join main_number num on ("FK_Numbers_id" = num.id);</code>
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!