【问题标题】:How to create column name with space?如何创建带空格的列名?
【发布时间】:2014-07-29 15:36:36
【问题描述】:

谁能告诉我如何创建带有“全名”等空格的列? 我试过如下但它不起作用。

CREATE TABLE info
(
Full Names varchar(20),
Physical Address varchar(20),
Moviesrented varchar(100),
Salutation varchar(20),
Category varchar(20),
PRIMARY KEY (address)
)

【问题讨论】:

  • 反引号或双引号(如果启用了 ANSI 引号)。但这通常不是一个好主意。
  • 即使你能够做,不如不做。
  • 为什么不是“租借的电影”?一致性好!实际上,最好使用“FullNames”和“PhysicalAddress”。请注意,如果您使用反引号(仅限 MySQL)或双引号(使用标准 SQL 将分隔标识符括起来),名称将区分大小写,并且每次需要引用该列时都需要使用反引号或双引号按名字。
  • 此外,这是一个糟糕的表格设计。一方面,您不能让超过一个人居住在给定地址(主键必须是唯一的)——这在某些住房情况下会是个问题。这些信息之间也有些互不相关,有些可能放在各自的表中会更好。
  • @JonathanLeffler:它出现在MySQL doesn't respect the standard with regard to case-sensitivity of quoted identifiers。但我确实同意您在评论中所说的所有其他内容。

标签: mysql sql


【解决方案1】:

只需将名称放在反引号中:

CREATE TABLE info (`Full Names` varchar(20), ...)

但这不是命名列的好方法。

【讨论】:

    【解决方案2】:

    我想知道你为什么想要那个。但要回答您的问题,请用反引号将其括起来。

    `Full Names` VARCHAR(20)
    

    【讨论】:

    • 我有点理解为什么有人会想要在列名中使用空格...当您在 myadmin 等中浏览表格时,它最终会更漂亮。但它仍然会导致比它解决的问题更多的问题。
    • @cHao 我完全同意你的看法。
    猜你喜欢
    • 2020-09-22
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 2011-04-03
    • 2015-08-25
    相关资源
    最近更新 更多