2016-05-23 37 views
-2

我希望我的表具有唯一的行,但不是唯一的列。這是一個選擇嗎?我想能夠在同一列中的多個行上具有相同的值,但不是另一行的100%副本...有沒有辦法用獨特的行創建一個SQL SERVER表?

我看到this問題,但它是關於MySQL,我需要它用於SQL SERVER 。

我的具體表(談話-職員)是這樣的:

conversation_id | staffer_id | handled 

感謝。

+0

@Downvoter - 這個問題出了什麼問題? – Sipo

+1

我只是猜測 - 但你的問題缺乏信息,表結構,數據樣本,所需的輸出。 – sagi

+0

@sagi,這是我嗎?還是你們用希伯來語說話? –

回答

3

你可以添加一個唯一索引包含表的所有列:

CREATE UNIQUE INDEX <index name> ON <tablename>(<columns>); 

或者,你可以設置所有列作爲主鍵。但是如果表已經有了,你必須先刪除PK

ALTER TABLE <tablename> DROP CONSTRAINT <constraint_name>;  
ALTER TABLE <tablename> ADD PRIMARY KEY (<columns>); 
+0

這樣我可以有不同的行與一些類似的列? – Sipo

+0

如果將所有列放入唯一索引或PK中,則不能在所有列上都有相同數據的行。如果某些列可以具有相似的數據,則可以將它們排除在索引的列列表中。 –

+3

如果添加包含* all *列的'UNIQUE INDEX',那麼每個唯一*組合*的行值只能存儲一次,但在每個單獨的列或列的子集內,可以有重複項。 –

相關問題