如何使两个3列在SQL服务器中是唯一的?

时间:2013-06-22 10:36:16

标签: sql sql-server

我想在我的数据表中使三列是唯一的

-----------------------------------
 Column A  |  Column B | Column C
----------------------------------
  Kasun     Cham      Nimith   
----------------------------------
  Kasun     Cham      Rox      - This row ok and must be allowed to add.
----------------------------------
  Kasun     Cham      Nimith  -  but This row must not be allowed to add again, 
---------------------------------

如何在SQL Server中完成此操作?

3 个答案:

答案 0 :(得分:5)

您可以添加唯一约束:

ALTER TABLE [TableName] ADD CONSTRAINT  [constraintName] UNIQUE ([columns])

您可以阅读文档here

答案 1 :(得分:5)

此代码可以满足您的需求。

CREATE UNIQUE CLUSTERED INDEX index_name ON TABLE (col1,col2, col3)
or
CREATE UNIQUE NONCLUSTERED INDEX index_name ON TABLE (col1,col2 , col3)

or

ALTER TABLE [dbo].[TABLE] ADD CONSTRAINT
UNIQUE_Table UNIQUE CLUSTERED
(
col1,
col2, 
col3
) ON [PRIMARY]

答案 2 :(得分:1)

要使用此表设计处理该问题,您需要在A / B / C列上创建唯一约束。