Rumah >pangkalan data >tutorial mysql >Mengapa Klausa `WHERE IN` PostgreSQL Saya Menyebabkan Ralat 'lajur tidak wujud'?

Mengapa Klausa `WHERE IN` PostgreSQL Saya Menyebabkan Ralat 'lajur tidak wujud'?

DDD
DDDasal
2024-12-22 03:30:11464semak imbas

Why Does My PostgreSQL `WHERE IN` Clause Cause a

PostgreSQL: "column does not exist" Ralat dalam Pertanyaan WHERE IN (senarai)

Apabila cuba memadamkan baris daripada jadual user_job_titles dalam PostgreSQL menggunakan WHERE IN ( list) klausa, pengguna mungkin menghadapi perkara berikut ralat:

ERROR:  column "c836d018-1d12-4507-a268-a4d80d6d3f54" does not exist
LINE 2: "c836d018-1d12-4507-a268-a4d80d6d3f54"

Ini berlaku apabila cuba menggunakan petikan berganda (") dalam klausa WHERE IN, seperti yang ditunjukkan dalam pertanyaan berikut:

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

Penyelesaian kepada ralat ini ialah untuk menggunakan petikan tunggal (') di sekitar pemalar rentetan dalam klausa WHERE IN Petikan berganda digunakan sebagai aksara melarikan diri untuk nama jadual dan lajur dalam PostgreSQL, oleh itu tidak boleh digunakan untuk melampirkan literal rentetan.

Oleh itu, pertanyaan yang betul hendaklah:

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

Atas ialah kandungan terperinci Mengapa Klausa `WHERE IN` PostgreSQL Saya Menyebabkan Ralat 'lajur tidak wujud'?. 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