2010-05-28 85 views
1

我想要一個非主鍵列的索引,但是這個列可能有空值。我發現在一個正常的唯一索引,它(正確如此)只允許一個null。如何在非唯一的表上創建索引?

這可能嗎?

和這是什麼語法?

+0

@馬克:SQL標準隻字未提指標 - 只有大約約束。經典的說,我相信DB2首先引入了'最多隻有一個NULL'的解釋,而其他大多數DBMS都是如此。能夠執行CREATE UNIQUE UNLESS NULL INDEX idxname ON table(col1);''會很方便。可悲的是,我知道沒有哪個系統可以做到這一點。 – 2010-05-28 05:45:49

+0

@Jonathan:在Oracle(10g)中允許在UNIQUE列中有多個NULL,無論是由約束還是由索引定義唯一性 - 只需對其進行測試即可驗證。 – 2010-05-28 11:55:18

+0

@Bob - 謝謝;這是有趣的知道(並且爲什麼SO是有用的)。 – 2010-05-28 13:36:46

回答

4
CREATE INDEX idxname ON table(col1); 

MSDN

+1

是的,我可能應該查找如何創建索引的語法工作之前,我發佈該問題! – Diskdrive 2010-05-30 23:47:17

相關問題