尝试在SQL Server 2008R2中创建新的外键关系时出错

时间:2015-11-27 13:37:36

标签: sql sql-server foreign-keys foreign-key-relationship

尝试使用以下语法在SQL Server中创建新的外键约束时

alter table fkTable add constraint FK_fkTable_pkTable 
foreign key (pkTable_Id) references pkTable(pkTable_Id)

我收到以下错误:

  

消息50000,级别16,状态0,行218无法创建约束。查看以前的错误。

这实际上是唯一的消息,之前没有错误。

1 个答案:

答案 0 :(得分:0)

问题是我的表被定义为:

create table pkTable (
    pkTable_Id smallint not null constraint PK_pkTable primary key identity(1,1),
    --other columns...
)

create table fkTable (
    fkTable_Id uniqueidentifier not null constraint primary key,
    pkTable_Id int not null,
    --other columns...
)

pkTable_Id列在pkTable上定义为 smallint ,在fkTable上定义为 int 。可能看起来很明显,但错误根本没有帮助!