我正在使用InnoDB版本的MySQL 全球數據庫(可用here),並且正在嘗試獲取南美國家及其首都的列表。在我的印象中,查詢應該是這樣的:加入之後未找到字段
SELECT `Country.Name` as `CountryName`, `City.Name` as `CityName`
FROM `Country`, `City`
WHERE `Continent` = 'South America' AND `ID` = `Capital`;
但是,一個給了錯誤#1054 - Unknown column 'Country.Name' in 'field list'
,即使表Country
確實有場Name
。
爲什麼MySQL沒有找到我想要的字段?如何更改查詢以使其找到它們?
讓我知道,如果我需要提供更多的信息給你,能夠幫助我。
儘量避免反彈,除非你真的需要它們。正如@Michael指出的那樣,當標識符與MySQL保留關鍵字衝突時,反引號很有用。 –
謝謝,它的工作。我想,一個容易接受的訓練有素的眼睛。我讀過反引號是沒有必要的,但是我能從避免它們中獲得什麼嗎?我在某個地方看到一個人在升級過程中遇到了麻煩,因爲他的一個非支持字段名稱在後來的MySQL版本中已成爲保留關鍵字。 – Johanna
@JohannaLindh你沒有獲得任何避免它們。雖然MySQL並不經常添加新的保留字。如果你養成了總是引用的習慣,那就好了。我更傾向於避免使用類似保留字的內容,而不是引用自己。 –