2011-10-12 53 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。