SQL Server 2008:表中的列与现有的主键或唯一约束不匹配

本教程将介绍SQL Server 2008:表中的列与现有的主键或唯一约束不匹配的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

SQL Server 2008:表中的列与现有的主键或唯一约束不匹配 教程 第1张

问题描述

我需要对 SQL Server 2008 数据库进行一些更改.

这需要创建一个新表,并在新表中插入一个引用现有表的主键的外键.所以我想在我的新 tblTwo 之间建立一个关系,它引用了 tblOne 的主键.

但是,当我尝试执行此操作(通过 SQL Server Management Studio)时,出现以下错误:

表 'tblOne' 中的列不匹配现有的主键或唯一约束

我不太确定这意味着什么,我想知道是否有任何解决方法?

推荐答案

说明 tblOne 中的主键没有正确声明 - 你需要去 tblOne 并重新添加 PRIMARY KEY 约束.

p>

如果您确定 tblOne 确实具有 PRIMARY KEY 约束,那么您的数据库中可能有多个 tblOne 表,属于不同的模式,并且您的 FK 约束中的引用子句选择了错误的.

如果有一个复合键(您的评论会指出),那么您还必须在外键引用中包含这两列.请注意,一个表不能有多个主键 - 但如果它有一个复合键,您会在作为主键一部分的每一列旁边看到一个键符号.

好了关于SQL Server 2008:表中的列与现有的主键或唯一约束不匹配的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。