我有一個現有的數據表。我剛剛添加了一個新列,但我找不到如何在該列上添加唯一約束。有人可以請指教嗎?右鍵單擊並選擇「檢查約束」無助。在SQL Server 2008 GUI中添加唯一約束?
回答
你需要右鍵單擊並選擇Indexes/Keys
:
然後彈出一個對話框,你可以添加一個新的指數,以指數的列表(在左側),並把它定義爲一個unique
指數:
嘗試右鍵單擊並選擇Indexes/Keys
,添加新索引並將Is Unique
設置爲是。在表設計
表中的設計師,就單擊鼠標右鍵,然後選擇索引/鍵。
索引/鍵窗口將打開。單擊按鈕添加,創建新的索引/鍵,選擇列是在列性能獨特:
在新的索引/鍵的屬性,設置鍵入到唯一密鑰:
這是對的uniq生成的代碼UE約束:
ALTER TABLE [dbo].[Table_1] ADD CONSTRAINT [IX_Table_1] UNIQUE NONCLUSTERED
(
[myUniqueColumn] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
如果我想使用幾列創建一個唯一約束,那麼我可以將所有我想要的列添加到新索引/鍵的'Columns'屬性中? (例如名字和姓氏 - 可以重複但不是兩者都重複)? – Ben
是的。如果按Columns屬性上的「...」按鈕,則會顯示一個窗口,您可以在其中選擇所需的所有列,還可以指定該索引中列的順序。並且所有選定列的組合都將考慮到密鑰的唯一性,如您在示例中所述。 –
你從哪個列,您需要從表中添加獨特的鍵,你可以選擇Indexes/Keys
只要右擊。然後你可以添加或刪除你想設置唯一密鑰的列
- 1. SQL Server 2008唯一密鑰約束
- 2. SQL Server 2008中 - 加約束
- 3. 添加CHECK約束在SQL Server:添加約束VS添加復
- 4. SQL - 添加唯一約束失敗
- 5. SQL Server中的可逆唯一約束
- 6. 如何設置唯一約束在SQL Server 2008
- 7. 添加唯一約束列
- 8. Postgres添加唯一約束
- 9. Sql Server 2008檢查約束
- 10. 使用約束條件的複合唯一SQL Server 2008
- 11. SQL Server唯一約束問題
- 12. 唯一約束在NON-NULL列上的唯一約束
- 13. SQL Server 2008中無法刪除約束
- 14. 複合唯一約束SQL
- 15. sql錯誤 - 唯一約束
- 16. 如何在sql server中創建唯一約束?
- 17. 如何在SQL Server 2005中創建複合唯一約束
- 18. 如何在SQL Server中創建多列唯一約束
- 19. 無法刪除約束 - SQL Server 2008 R2
- 20. 如何避免約束SQL Server 2008
- 21. SQL Server 2008-獲取表約束條件
- 22. 多重約束違反SQL Server 2008 - CodeFirst
- 23. SQL Server 2008外鍵約束錯誤
- 24. SQL Server 2008 R2和檢查約束
- 25. 添加約束在PL/SQL
- 26. 列約束Sql 2008
- 27. 在聯合視圖上添加唯一索引(SQL Server 2008)
- 28. SQL Server約束
- 29. SQL Server - 約束
- 30. 唯一約束與預檢
這是一個唯一的索引,而不是唯一的約束。兩者都創建索引,但它們之間存在差異(請參閱http://databases.about.com/od/sqlserver/a/unique.htm)。如果你想要一個UNIQUE約束,你應該選擇Type = Unique Key。 –
@ guillegr123:是的,你是對的 - 但你也在這裏挑剔......最後,這兩種方法都避免了重複,最後,這兩種方法都會在SQL Server中產生一個唯一的索引。我更喜歡使用唯一索引,因爲它允許我明確地設置某些屬性(如填充因子)(如果需要) - 哪些是唯一約束不允許設置的。 –