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!