我可以有复合约束吗?

时间:2009-10-14 11:32:29

标签: sql-server constraints

拥有一个具有这种结构的表......

Table_files

  • id_file(PK)
  • file_name中
  • FILE_PATH

...我可以有一个约束,允许我不复制“file_name”+“file_path”对(但允许我分别复制“file_name”和“file_path”),其中唯一的主键是字段“id_file”?

由于

2 个答案:

答案 0 :(得分:6)

是。为这两个字段创建索引,并使其唯一。

答案 1 :(得分:2)

Guffa said in his answer一起使用,在两个字段上创建唯一索引:

CREATE UNIQUE NONCLUSTERED INDEX IX_Table_files_name_path ON Table_files 
(
    file_name,file_path
)
GO

这可以防止file_name+file_path的任何组合被复制,但允许file_namefile_path值内的重复值,而不是相同的组合。