Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan PostgreSQL DELETE Saya Menunjukkan Ralat 'lajur tidak wujud'?
Penyelesaian kepada ralat "lajur tidak wujud" dalam pertanyaan PostgreSQL DELETE
Apabila melaksanakan pertanyaan DELETE dalam PostgreSQL, anda mungkin menghadapi ralat "lajur tidak wujud". Ralat ini biasanya disebabkan oleh penggunaan petikan berganda dan tunggal dalam pertanyaan.
Sintaks pertanyaan DELETE termasuk menentukan nama jadual, diikuti dengan klausa WHERE untuk menapis rekod berdasarkan syarat. Untuk pertanyaan yang anda berikan:
<code class="language-sql">delete from "Tasks" where id = "fc1f56b5-ff41-43ed-b27c-39eac9354323";</code>
Ralatnya adalah kerana PostgreSQL mentafsir nilai dalam petikan sebagai pengecam (cth. nama jadual, nama lajur) dan bukannya nilai rentetan. Ini kerana nama jadual "Tasks" dan nilai id "fc1f56b5-ff41-43ed-b27c-39eac9354323" disertakan dalam petikan berganda (").
Untuk menyelesaikan masalah ini, nilai id hendaklah disertakan dalam petikan tunggal ('), yang mewakili pemalar aksara. Ini memberitahu PostgreSQL bahawa nilai harus diambil secara literal.
Pertanyaan yang diperbetulkan:
<code class="language-sql">delete from "Tasks" where id = 'fc1f56b5-ff41-43ed-b27c-39eac9354323';</code>
Dengan menggunakan petikan tunggal untuk nilai id dengan betul, anda memastikan PostgreSQL mentafsirkannya sebagai pemalar rentetan, dengan itu mengelakkan ralat "lajur tidak wujud" dan berjaya melaksanakan pertanyaan pemadaman.
Atas ialah kandungan terperinci Mengapa Pertanyaan PostgreSQL DELETE Saya Menunjukkan Ralat 'lajur tidak wujud'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!