专栏' tblGender.ID'与引用列&t; tblPerson.GenderID'不同的数据类型在外键' tblPerson_GenderID_FK'

时间:2015-02-24 16:46:28

标签: sql database debugging key relationship

帮助我不知道接下来该做什么我尝试了不同的东西,但仍然显示相同的错误。正如您所看到的,我使用相同的数据类型(GenderID和Gender = varchar(15)),但它显示了您可以在下面找到的错误。

我使用语法

Alter table ForeignKeyTable add constraint ForeignKeyTable_ForeignKeyColumn_FK
FOREIGN KEY (ForeignKeyColumn) references PrimaryKeyTable (PrimaryKeyColumn)


create table tblPerson (
ID int primary key,
Name varchar (15),
Email varchar (15),
GenderID varchar (15)
)

create table tblGender (
ID int primary key,
Gender varchar (15)
)

select *from tblGender
select *from tblPerson

Alter table tblPerson add constraint tblPerson_GenderID_FK 
FOREIGN KEY (GenderID) references tblGender (ID)

这是执行后的错误

  

消息1778,等级16,状态0,行18列'tblGender.ID'不是   与外部引用列'tblPerson.GenderID'相同的数据类型   key'tblPerson_GenderID_FK'。 Msg 1750,Level 16,State 0,Line 18   无法创建约束或索引。查看以前的错误。

1 个答案:

答案 0 :(得分:1)

使用以下内容更新表创建代码:

create table tblPerson (
ID int primary key,
Name varchar (15),
Email varchar (15),
GenderID int
)

注意:唯一的变化是将GenderID从varchar转换为int。