2011-10-12 56 views
0

我遵循这个document的指示。我的确切版本是8.4.4。我的CREATE TABLE命令有什么问题?

这是我尝试做

CREATE TABLE testInfo (
       testNo integer PRIMARY KEY, 
       product varchar(15), 
       firmware varchar(15), 
       startDate date, 
       eta date 
); 

注意:CREATE TABLE/PRIMARY KEY将创建隐式索引 “testinfo_pkey” 对表 “testinfo”

它完全无视我的PRIMARY KEY约束。我不认为这与文档中的示例基本不相同。

CREATE TABLE products (
product_no integer PRIMARY KEY, 
name text, 
price numeric 

我敢肯定,明显的盯着我的脸右侧。尽管如此,我希望提供任何帮助。

更新:我刚刚尝试了文档中的示例,返回相同的消息。那么我可以总结文档有误,或者8.4.4是错误的?

+0

它如何忽略“主键”约束?你有没有尝试为'testNo'插入重复值? – 2011-10-12 04:10:08

+1

你的意思是主键testinfo_pkey不使用列testNo?尝试从psql的'\ d testInfo'来查看表定义。 –

+1

“通知”的哪一部分是你解释为错误的?这似乎是一个误解。 –

回答

2

它不会忽略你的主键,它告诉你它将用来执行它的机制。此消息可以通过client_min_messages(警告)禁用。

+0

啊,我明白了。我误解了这个信息。 –

4

我不是Postgresql的专家,但它似乎只是通知你正在创建一个INDEX来帮助实现你定义的PRIMARY KEY。