帮助我不知道接下来该做什么我尝试了不同的东西,但仍然显示相同的错误。正如您所看到的,我使用相同的数据类型(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 无法创建约束或索引。查看以前的错误。
答案 0 :(得分:1)
使用以下内容更新表创建代码:
create table tblPerson (
ID int primary key,
Name varchar (15),
Email varchar (15),
GenderID int
)
注意:唯一的变化是将GenderID从varchar转换为int。