Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan PostgreSQL DELETE Saya Gagal dengan 'Lajur Tidak Wujud' Apabila Menggunakan IN (Senarai)?

Mengapa Pertanyaan PostgreSQL DELETE Saya Gagal dengan 'Lajur Tidak Wujud' Apabila Menggunakan IN (Senarai)?

Mary-Kate Olsen
Lepaskan: 2024-12-17 02:59:25
asal
270 orang telah melayarinya

Why Does My PostgreSQL DELETE Query Fail with

Postgres: Ralat Pertanyaan "Lajur Tidak Wujud" dengan WHERE IN (Senarai)

Dalam PostgreSQL, pertanyaan

DELETE FROM user_job_titles WHERE id IN (
"c836d018-1d12-4507-a268-a4d80d6d3f54",
"d0961a90-7d31-4c4c-9c1b-671115e3d833",
"62dda420-6e62-4017-b41d-205c0aa82ead"
)
Salin selepas log masuk

gagal dengan ralat "ralat: lajur [nilai] tidak wujud". Ini kerana:

Petikan Berganda dan Melarikan Diri

Dalam PostgreSQL, petikan berganda digunakan sebagai aksara melarikan diri untuk merujuk kepada nama jadual dan lajur. Apabila digunakan secara tidak sengaja dengan literal rentetan, ia boleh membawa kepada sintaks yang salah. Dalam pertanyaan yang diberikan, nilai dalam senarai IN disertakan dalam petikan berganda, menyebabkan PostgreSQL mentafsirkannya sebagai nama lajur dan bukannya pemalar rentetan.

Penyelesaian: Sertakan Nilai dalam Petikan Tunggal

Kepada selesaikan isu, sertakan nilai dalam petikan tunggal:

DELETE FROM user_job_titles WHERE id IN (
'c836d018-1d12-4507-a268-a4d80d6d3f54',
'd0961a90-7d31-4c4c-9c1b-671115e3d833',
'62dda420-6e62-4017-b41d-205c0aa82ead'
);
Salin selepas log masuk

Dengan cara ini, PostgreSQL mentafsir nilai sebagai pemalar rentetan dan membandingkannya dengan betul dengan lajur id jadual user_job_titles.

Atas ialah kandungan terperinci Mengapa Pertanyaan PostgreSQL DELETE Saya Gagal dengan 'Lajur Tidak Wujud' Apabila Menggunakan IN (Senarai)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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