Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan SQL Saya Gagal dengan 'Lajur 'Mary' Tidak Wujud'?

Mengapa Pertanyaan SQL Saya Gagal dengan 'Lajur 'Mary' Tidak Wujud'?

Susan Sarandon
Susan Sarandonasal
2024-12-31 18:34:14267semak imbas

Why Does My SQL Query Fail with

Lajur 'Mary' Tidak Wujud: Menyelesaikan Masalah Pertanyaan SQL

Anda cuba mendapatkan semula nombor telefon seseorang yang bernama "Mary" menggunakan pertanyaan SQL. Walau bagaimanapun, anda menghadapi ralat yang mendakwa lajur 'Mary' tidak wujud.

Isu di sini terletak pada cara anda mengehadkan rentetan literal untuk 'Mary'. Tanda petikan berganda (‘ ’) dianggap sebagai petikan pintar, manakala tanda petikan tunggal (') adalah biasa. Dalam SQL, pembatas rentetan lalai ialah tanda petikan tunggal.

Untuk menyelesaikan isu ini, anda harus menggunakan petikan tunggal biasa untuk mengehadkan nama 'Mary'. Berikut ialah pertanyaan yang diperbetulkan:

SELECT  telephone.telephonenumber as tel
FROM    person, telephone
WHERE   person.idperson = telephone.idperson
AND person.personname = 'Mary';

Dengan menggunakan petikan tunggal biasa, nama lajur 'Mary' akan dianggap sebagai nilai dan bukannya pengecam lajur. Ini sepatutnya menghapuskan ralat dan mengembalikan nombor telefon yang dijangkakan.

Atas ialah kandungan terperinci Mengapa Pertanyaan SQL Saya Gagal dengan 'Lajur 'Mary' 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