首頁 >資料庫 >mysql教程 >儘管列存在,為什麼我的查詢失敗並顯示'列'Mary'不存在”?

儘管列存在,為什麼我的查詢失敗並顯示'列'Mary'不存在”?

Susan Sarandon
Susan Sarandon原創
2025-01-03 15:45:39528瀏覽

Why Does My Query Fail with

列「Mary」不存在:查詢錯誤

執行查詢時,您可能偶爾會遇到錯誤訊息,指示特定列不存在,即使它存在於您的資料庫中。其中一種情況是查詢引用帶有錯誤字元的列名。

The Case of 'Mary'

在提供的範例中,錯誤與該列有關「瑪麗」。然而,在檢查查詢時,很明顯查詢中沒有名為「Mary」的欄位。相反,「Mary」應該是指派給「personname」欄位的值。

這裡的關鍵要點是,錯誤是由「Mary」的錯誤字元編碼引起的。在查詢中,「Mary」用智慧引號 (“Mary”) 括起來,它們是 Unicode 字元。資料庫系統通常偏好使用 ASCII 編碼的純單引號 ('Mary')。

解決問題

要修正此問題,只需將智慧引號替換為查詢中的純單引號。如下修改您的查詢:

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

透過進行此細微調整,您的查詢現在將正確搜尋名為「Mary」的人員並檢索他們的電話號碼。

以上是儘管列存在,為什麼我的查詢失敗並顯示'列'Mary'不存在”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn