Rumah > pangkalan data > tutorial mysql > Mengapa Pernyataan INSERT PostgreSQL Saya Gagal dengan 'lajur \'X\' tidak wujud'?

Mengapa Pernyataan INSERT PostgreSQL Saya Gagal dengan 'lajur \'X\' tidak wujud'?

Barbara Streisand
Lepaskan: 2025-01-12 07:00:46
asal
421 orang telah melayarinya

Why Does My PostgreSQL INSERT Statement Fail with

Ralat pangkalan data PostgreSQL: "Lajur 'X' tidak wujud"

Dalam kod PostgreSQL yang diberikan, cuba memasukkan data ke dalam jadual menghasilkan ralat:

Mesej ralat:

<code>psql:createConfigChangeLog.sql:11: ERROR:  column "5837-2016-08-24_09-12-22" does not exist</code>
Salin selepas log masuk

Sebab ralat:

Ralat ini berlaku kerana PostgreSQL mentafsir nilai lajur last_config_version sebagai nama lajur dan bukannya rentetan literal. PostgreSQL memerlukan pemalar rentetan untuk disertakan dalam petikan tunggal.

Penyelesaian:

Untuk menyelesaikan masalah ini, rentetan literal lajur last_config_version hendaklah disertakan dalam petikan tunggal:

INSERT INTO config_change_log(last_config_version, is_done, change_description )
VALUES('5837-2016-08-24_09-12-22', false, '{ ''key'':''value''}');
Salin selepas log masuk

Larikan petikan tunggal dalam data:

Sebagai alternatif, petikan tunggal dalam data boleh dilepaskan dengan menulis dua kali:

INSERT INTO config_change_log(last_config_version, is_done, change_description )
VALUES("5837-2016-08-24_09-12-22", false, "{ 'key':'value'}");
Salin selepas log masuk

Sila ambil perhatian bahawa kaedah pertama menggunakan petikan tunggal dan melepaskan petikan tunggal dalaman, yang merupakan pendekatan yang lebih standard dan disyorkan. Kaedah kedua menggunakan petikan berganda, yang, semasa bekerja dalam beberapa kes, tidak begitu jelas dan mudah alih seperti kaedah pertama.

Atas ialah kandungan terperinci Mengapa Pernyataan INSERT PostgreSQL Saya Gagal dengan 'lajur \'X\' tidak wujud'?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan