我可以创建一个包含列的单个名称的表,例如:
CREATE TABLE testTable
(
Name text,
Age int
)
如何创建包含多个单词的单个列? E.g:
CREATE TABLE testTable
(
Person Name text,
Person Age int
)
当我使用它时,它给了我错误。无法在任何地方找到解决方案。
答案 0 :(得分:3)
使用"
引用列名:
CREATE TABLE testTable (
"Person Name" text,
"Person Age" int);
的 SqlFiddleDemo
强>
<强> Quoted identifiers 强>
还有第二种标识符:分隔标识符或带引号的标识符。它是通过在双引号(“)中包含任意字符序列而形成的。
带引号的标识符可以包含除字符外的任何字符 代码为零。 (要包含双引号,请写两个双引号。) 这允许构造否则将构造表或列名称 不可能,,例如包含空格或&符号。该 长度限制仍然适用。
答案 1 :(得分:1)
可以引用("
)这些名称来强制数据库执行此操作。在实践中,正如一些评论中所述,这非常令人讨厌并且没有效果。如果您这样做,那么每个时间您需要引用此列,您将不得不
所以这个:
SELECT testTable."person name" FROM testTable
会抛出错误,因为我没有大写p
或n
。
每次引用时,这都会导致浪费时间查找名称的确切格式。
更常见,更简单的解决方案是简单地使用下划线:
CREATE TABLE test_table (
person_name text,
person_age int
)
我,我相信我们这个行业的大部分人,通常会认为包含空格的名称(或任何其他需要我引用名称的字符)作为缺乏经验或缺乏知识的标志。