Rumah >pangkalan data >tutorial mysql >Mengapa Postgres mengembalikan 'lajur '5837-2016-08-24_09-12-22' tidak wujud, dan bagaimanakah saya boleh membetulkannya?

Mengapa Postgres mengembalikan 'lajur '5837-2016-08-24_09-12-22' tidak wujud, dan bagaimanakah saya boleh membetulkannya?

Susan Sarandon
Susan Sarandonasal
2025-01-12 09:54:42212semak imbas

Why does Postgres return

Menyelesaikan ralat PostgreSQL: "Lajur "5837-2016-08-24_09-12-22" tidak wujud"

Apabila menghadapi mesej ralat ini, adalah penting untuk ambil perhatian bahawa nama lajur hendaklah disertakan dalam petikan berganda, manakala pemalar rentetan perlu disertakan dalam petikan tunggal. Dalam kes ini, ralat berlaku kerana nilai "5837-2016-08-24_09-12-22" telah disalah anggap sebagai nama lajur dan bukannya literal rentetan.

Untuk menyelesaikan isu ini, anda boleh membetulkan pernyataan SQL seperti berikut:

<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>

Dengan mengelilingi pemalar rentetan dengan petikan tunggal, ia akan dikenali dengan betul sebagai nilai dan bukannya nama lajur.

Sebagai alternatif, anda boleh melepaskan petikan tunggal dalam data anda dengan menggandakannya, seperti dalam contoh berikut:

<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>

Pendekatan ini memastikan petikan tunggal dalam lajur change_description ditafsirkan sebagai sebahagian daripada nilai rentetan dan bukannya menyebabkan ralat sintaks.

Ingat, anda sentiasa disyorkan untuk menggunakan petikan tunggal untuk pemalar rentetan dan petikan berganda untuk nama lajur untuk mengelakkan kemungkinan konflik dan memastikan sintaks yang betul. Dengan melaksanakan pembetulan ini, anda sepatutnya berjaya memasukkan data ke dalam pangkalan data PostgreSQL anda tanpa menghadapi ralat "lajur tidak wujud".

Atas ialah kandungan terperinci Mengapa Postgres mengembalikan 'lajur '5837-2016-08-24_09-12-22' tidak wujud, dan bagaimanakah saya boleh membetulkannya?. 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