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

Awe*_*ome 5 database sql-server constraints foreign-keys

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

ALTER TABLE tblPerson
    ADD CONSTRAINT tblPerson_Gender_FK 
        FOREIGN KEY(Gender) REFERENCES tblGender(ID);
Run Code Online (Sandbox Code Playgroud)

但我总是收到这个错误:

消息 2714,级别 16,状态 5,第 30 行
数据库中已有一个名为“tblPerson_Gender_FK”的对象。

消息 1750,级别 16,状态 0,第 30 行
无法创建约束或索引。请参阅以前的错误。

这是我的桌子

create table tblPerson
(
    ID int Primary Key NOT NULL,
    Name varchar(max) Not null ,
    Email varchar(max) Not null,
    Gender int
)
Run Code Online (Sandbox Code Playgroud)

和另一个

create table tblGender
(
     ID int not null Primary key,
     Gender varchar(max) 
)
Run Code Online (Sandbox Code Playgroud)

luc*_*cky 4

该错误非常明显,您有另一个名为 的外键tblPerson_Gender_FK

可以更改外键名称;

ALTER TABLE tblPerson
ADD CONSTRAINT tblPerson_Gender_2_FK FOREIGN KEY(Gender) REFERENCES tblGender(ID);
Run Code Online (Sandbox Code Playgroud)

或者您可以删除现有的外键。但我不建议这样做,因为删除现有外键可能会导致相关表出现意外的数据问题。