我可以创建一个列的单名一个表,例如:创建多个单词表中单列
CREATE TABLE testTable
(
Name text,
Age int
)
我如何可以创建多个单词的单个列?例如:
CREATE TABLE testTable
(
Person Name text,
Person Age int
)
当我使用这个,它给了我错误。找不到解决方案。
我可以创建一个列的单名一个表,例如:创建多个单词表中单列
CREATE TABLE testTable
(
Name text,
Age int
)
我如何可以创建多个单词的单个列?例如:
CREATE TABLE testTable
(
Person Name text,
Person Age int
)
当我使用这个,它给了我错误。找不到解决方案。
报价与"
列名:
CREATE TABLE testTable (
"Person Name" text,
"Person Age" int);
有第二种标识符:分隔IDE标识符或引用标识符。它是由在双引号(“)。包围的任意字符序列形成
引号标识符可以包含任何字符,除了与代码零的字符 。(要包括一个双引号,写两个双引号) 这使得构建,否则 是不可能的表或列名称,如含有空格或与号的该 长度的限制仍然适用。
@joojoo:虽然这是正确的答案,并且会起作用,但不推荐使用这种列名称。从长远来看,这会给你带来很多麻烦,实际上它值得。 –
明白了。谢谢@ lad2025! –
这是可能的报价("
)这些名称强制数据库执行此操作。在实践中,正如一些评论中指出的那样,这是极其令人讨厌的和非生产性的。如果你这样做,那么每时候你需要引用此列,你将不得不
所以这样的:
SELECT testTable."person name" FROM testTable
会抛出错误,因为我没有大写p
或n
。
这会导致浪费大量时间查找名称的确切格式,每次引用它。
将更加普遍和简单的解决方案是简单地使用强调:
CREATE TABLE test_table (
person_name text,
person_age int
)
我,我也相信我们的很多行业中,通常会认为包含空格的名称(或需要我的任何其它字符引用该名称)作为缺乏经验或缺乏知识的标志。
定界符在'''postgres中,但你为什么要这么做?每次引用该列时,您都必须使用分隔符 – Mihai
以下是手册的相关链接:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX -IDENTIFIERS –