我正在开发一个项目,其他开发人员创建了一个列名为'Business Name'
的表。这是两个单词之间的空格。如果我使用“商家名称”运行SELECT
语句,则表示没有名称为“商家”的列。
我该如何解决这个问题?
答案 0 :(得分:123)
通常,第一步是首先不要这样做,但如果已经完成,那么你需要求助于正确引用你的列名:
SELECT `Business Name` FROM annoying_table
通常这些事情是由使用过Microsoft Access之类的人创建的,并且总是使用GUI来完成他们的工作。
答案 1 :(得分:14)
如果双引号不起作用,请尝试将字符串包含在方括号内。
例如:
SELECT "Business Name","Other Name" FROM your_Table
可以更改为
SELECT [Business Name],[Other Name] FROM your_Table
答案 2 :(得分:10)
您需要使用反引号而不是单引号:
单引号 - 'Business Name'
- 错误
反引号 - `Business Name`
- 正确
答案 3 :(得分:3)
对于他自己的每一个,但正确的编码方式是重命名插入下划线的列,以便没有间隙。这将确保编码时的零错误。打印列名称以进行公开显示时,您可以搜索并替换以用空格替换下划线。
答案 4 :(得分:0)
我来到这里遇到了MS Access问题。
反引号对MySQL很有用,但它们会产生奇怪的错误,例如MS Access中的“无效查询名称:Query1”,仅对于MS Access,使用方括号:
应该看起来像这样
SELECT Customer.[Customer ID], Customer.[Full Name] ...
答案 5 :(得分:-6)
我认为双引号也有效:
SELECT "Business Name","Other Name" FROM your_Table
但我只测试了SQL Server而不是mySQL,以防有人使用MS SQL Server。