我在我的SQL Server數據庫中有一個簡單的表。此表包含兩列:ID int, Name nvarchar(50)
。 ID
列是我的表的主鍵。如何在SQL Server 2008中創建「無重複」列?
我希望「Name
」列爲「(No Duplicates)
」,就像在Microsoft Access中一樣,但是這一列不是主要列。我怎麼能這樣做?
我在我的SQL Server數據庫中有一個簡單的表。此表包含兩列:ID int, Name nvarchar(50)
。 ID
列是我的表的主鍵。如何在SQL Server 2008中創建「無重複」列?
我希望「Name
」列爲「(No Duplicates)
」,就像在Microsoft Access中一樣,但是這一列不是主要列。我怎麼能這樣做?
添加unique constraint該列:
ALTER TABLE Foo ADD CONSTRAINT UQ_Name UNIQUE (Name)
要通過SQL Management Studio中的UI添加:
要處理髮生唯一約束違規的情況,請參見error 2601。
該鏈接適用於Sql Server 2000,而據我所知,SSMS的指令不適用於最新版本。 – nycdan 2012-09-05 21:28:47
+1解決方案..我做了同樣的事情,我無法插入重複值。但主鍵值失去了我的每一個嘗試...意思是如果我的PK是1,我試圖插入重複值兩次。下一次正確的更新將是PK 4.我怎樣才能避免它? – rinuthomaz 2014-11-06 13:43:50
我更喜歡這個回答我發佈的GUI解決方案,因爲它真的更簡單和更快,但我仍然發佈那些有強大的GUI偏好。 – 2015-12-17 19:59:04
您在尋找UNIQUE constraint的。
請不要回滾對標籤的更改 - 此問題不是關於Microsoft Access,而是SQL Server上的唯一約束。 – 2009-10-19 14:33:16