如何在MySQL中选择带空格的列名

时间:2013-01-07 06:09:36

标签: mysql sql

我正在开发一个项目,其他开发人员创建了一个列名为'Business Name'的表。这是两个单词之间的空格。如果我使用“商家名称”运行SELECT语句,则表示没有名称为“商家”的列。

我该如何解决这个问题?

6 个答案:

答案 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。