数据库中已经有一个名为“tblPerson_Gender_FK”的对象

问题描述 投票:3回答:1

在SQL Server 2014中,我想创建一个外键

ALTER TABLE tblPerson
    ADD CONSTRAINT tblPerson_Gender_FK 
        FOREIGN KEY(Gender) REFERENCES tblGender(ID);

但我总是得到这个错误:

Msg 2714,Level 16,State 5,Line 30 数据库中已经有一个名为“tblPerson_Gender_FK”的对象。

Msg 1750,Level 16,State 0,Line 30 无法创建约束或索引。查看以前的错误。

这是我的桌子

create table tblPerson
(
    ID int Primary Key NOT NULL,
    Name varchar(max) Not null ,
    Email varchar(max) Not null,
    Gender int
)

和另一个

create table tblGender
(
     ID int not null Primary key,
     Gender varchar(max) 
)
sql-server database foreign-keys constraints
1个回答
2
投票

错误很明显,你有另一个名为tblPerson_Gender_FK的外键。

您可以更改外键名称;

ALTER TABLE tblPerson
ADD CONSTRAINT tblPerson_Gender_2_FK FOREIGN KEY(Gender) REFERENCES tblGender(ID);

或者您可以删除现有的外键。但我不推荐它,因为删除现有的外键可能会导致相关表上的意外数据问题。

© www.soinside.com 2019 - 2024. All rights reserved.