Pengguna PostgreSQL sering menghadapi ralat "lajur postgres "X" tidak wujud". Ini biasanya timbul daripada salah merujuk lajur dalam pertanyaan SQL. Masalah biasanya berpunca daripada menganggap nilai rentetan sebagai nama lajur.
Penyelesaian terletak pada memetik literal rentetan dengan betul dalam pernyataan SQL anda. Rentetan, yang mewakili data teks, memerlukan petikan tunggal atau berganda untuk membezakannya daripada nama lajur dan jadual.
Berikut ialah contoh yang diperbetulkan:
<code class="language-sql">INSERT INTO config_change_log (last_config_version, is_done, change_description) VALUES ('5837-2016-08-24_09-12-22', false, '{ ''key'':''value''}');</code>
Perhatikan bagaimana "5837-2016-08-24_09-12-22" kini disertakan dengan betul dalam petikan tunggal, mengenal pasti ia sebagai nilai rentetan.
Ikuti garis panduan ini apabila mengendalikan literal rentetan dalam PostgreSQL:
'
). Contohnya:<code class="language-sql">INSERT INTO config_change_log (change_description) VALUES ('This text contains a ''single'' quote.');</code>
atau
<code class="language-sql">INSERT INTO config_change_log (change_description) VALUES ("This text contains a 'single' quote.");</code>
Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'lajur postgres \'X\' tidak wujud' dalam pertanyaan PostgreSQL saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!