2014-10-16 137 views
-1

我有一个表“UserDetails”,其中两列即“EmailId”和“UserId”被设置为主键。但是,当我尝试将重复值插入到表中时,我没有从SQL引擎中获取任何密钥违例。我该如何调试?有两个主键的表中允许有重复记录

截图:

enter image description here

enter image description here

回答

3

你不用有两个主键,您拥有的两列被认为是主键复合主键。

这意味着两列在一起必须是唯一的。您的当前屏幕截图显示,虽然两个记录具有相同的电子邮件,但各个行具有不同的用户标识,因此主要(复合)标识在这两个标识之间是唯一的,因为两个记录之间的emailid和用户标识不同。

了解更多关于组合键here

编辑:我不能完全肯定你想完成什么,但我的猜测是,你会希望用户ID是主键,并有EMAILID是唯一领域。

+0

我还想知道为什么我的问题downvoted – 2014-10-17 08:25:12

相关问题