我有一个带有主键的表,但是我想要限制其他两个列,因此保证两者的组合始终是唯一的.
(一个愚蠢的例子:在BOOKS表中,IBAN列是主键,但Title和Author列的组合也应该始终是唯一的.)
在SQL Server Management Studio中,可以创建新索引并将IsUnique设置为是,或者我可以创建新的唯一键.
这两种方法有什么区别,哪种方法最适合哪种用途?
创建UNIQUE约束是对规则的更清晰的陈述.索引的IsUnique属性是一个实现细节 - 如何实现规则,而不是规则是什么.但效果是一样的.
2.唯一约束定义了哪些列组合必须是唯一的.唯一索引只是确保上述内容始终有效的一种方法.但是,可以使用支持唯一约束的非唯一索引.(如果约束是deferable =只需要在提交时有效但允许在事务中间被破坏)
您知道,当您创建唯一约束时,SQL Server将在幕后创建索引