在SQL Server 2008中允许重复的uniqueidentifier?

ImG*_*reg 2 foreign-keys primary-key uniqueidentifier duplicates sql-server-2008

可以说我的数据库中只有2个表.这两个表是:InputType和HardwareType.每个表都使用GUID作为主键.从InputType到HardwareType有一个外键.

我遇到的问题是将有多行InputType引用HardwareType中的同一行(即,每种类型的硬件有几个输入).这个问题是我在InputType中引用的列中引用了HardwareType中的GUID将不允许重复 - 因此,每个硬件类型不允许多个输入.

我可以通过将InputType中的列的数据类型设置为"varchar"或其他东西而不是"uniqueidentifier"来解决这个问题,但我是否必须这样做?是否有一些允许重复的GUID条目,当它不是主键,而是另一个表的外键?

感谢帮助!谢谢.

mar*_*c_s 6

仅仅因为数据类型UNIQUEIDENTIFIER并不意味着您不能多次在该列中具有相同的值!

CAN其实-当然,除非你明确地添加一个UNIQUE CONSTRAINTUNIQUE INDEX该列-这是你的选择,但默认应用什么的,除非你自己做一些事情.

所以,你应该能够引用HardwareTypeInputType使用UNIQUEIDENTIFIER-即使在多个行InputType会引用同一行中HardwareType完全没有问题- .