数据库中已经存在一个名为'tblPerson_Gender_FK'的对象。

4
在SQL Server 2014中,我想创建一个外键。
ALTER TABLE tblPerson
    ADD CONSTRAINT tblPerson_Gender_FK 
        FOREIGN KEY(Gender) REFERENCES tblGender(ID);

但我总是遇到这个错误:

Msg 2714,级别 16,状态 5,行 30
数据库中已经存在名为'tblPerson_Gender_FK'的对象。

Msg 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
)

以及另一个

create table tblGender
(
     ID int not null Primary key,
     Gender varchar(max) 
)

1
错误提示你已经有一个名为“tblPerson_Gender_FK”的对象,请检查数据库中的表关系。 - Amin Saadati
1个回答

3
错误很明显,你有另一个名为tblPerson_Gender_FK的外键。
你可以更改该外键名称;
ALTER TABLE tblPerson
ADD CONSTRAINT tblPerson_Gender_2_FK FOREIGN KEY(Gender) REFERENCES tblGender(ID);

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接