我正在使用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并不经常添加新的保留字。如果你养成了总是引用的习惯,那就好了。我更倾向于避免使用类似保留字的内容,而不是引用自己。 –