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

内容来源于 Stack Overflow,遵循 CC BY-SA 4.0 许可协议进行翻译与使用。IT领域专用引擎提供翻译支持

腾讯云小微IT领域专用引擎提供翻译支持

原文
Stack Overflow用户 修改于2018-08-17
  • 该问题已被编辑
  • 提问者: Stack Overflow用户
  • 提问时间: 2013-01-07 14:09

我正在做一个项目,在这个项目中,另一个开发人员创建了一个具有类似 'Business Name' 的列名的表。这是两个单词之间的空格。如果我运行一条名为'Business Name‘的 SELECT 语句,它会显示没有名为'Business’的列。

我该如何解决这个问题?

浏览 242 关注 0 得票数 108
  • 得票数为Stack Overflow原文数据
原文
回答于2013-01-07
得票数 183

通常情况下,第一步是不要这样做,但如果已经这样做了,那么您需要求助于正确地引用列名:

SELECT `Business Name` FROM annoying_table

通常,这些东西是由使用过Microsoft Access等工具的人创建的,并且总是使用GUI来做他们的事情。

回答于2014-09-01
得票数 -4

我认为双引号也适用:

SELECT "Business Name","Other Name" FROM your_Table

但我只是在SQL Server上测试,而不是在mySQL上测试,以防有人使用MS SQL Server。

原文
回答于2015-08-04
得票数 3

每个列都有自己的代码,但正确的编码方法是重命名列,插入下划线,这样就没有空格了。这将确保在编码时零错误。在打印列名以供公共显示时,您可以搜索并替换,将下划线替换为空格。

回答于2015-09-29
得票数 24

如果双引号不起作用,请尝试将字符串包括在方括号中。

例如:

SELECT "Business Name","Other Name" FROM your_Table

可以更改为

SELECT [Business Name],[Other Name] FROM your_Table

Stack Overflow用户
修改于2018-08-17
  • 该回答已被编辑
  • 回答者: Stack Overflow用户
  • 回答时间: 2017-12-07 12:40
得票数 20

您需要使用反引号而不是单引号:

单引号- 'Business Name' -错误

反引号- `Business Name` -正确

0
修改于2020-11-23
  • 该回答已被编辑
  • 回答者: Stack Overflow用户
  • 回答时间: 2020-03-07 08:07
得票数 1

我来这里的时候遇到了MS访问问题。

反引号对MySQL有好处,但它们会产生奇怪的错误,如MS Access中的"Invalid Query Name: Query1“,仅对于MS Access,请使用方括号:

它应该看起来像这样

SELECT Customer.[Customer ID], Customer.[Full Name] ...
页面原文内容由 stack overflow 提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接: https://stackoverflow.com/questions/14190798
https://stackoverflow.com/questions/14190798
复制