帮助我不知道下一步该做什么我尝试了不同的事情,但仍然显示出相同的错误。如您所见,我使用的是相同的数据类型(genderid和gender=varchar(15))但它显示了您可以在下面找到的错误。
IM使用语法

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)

这是执行后的错误
msg 1778,级别16,状态0,第18行列'tblgender.id'不是
与在foreign中引用列“tblperson.genderid”的数据类型相同
键“tblperson_genderid_fk”。消息1750,级别16,状态0,第18行
无法创建约束或索引。请参阅以前的错误。

最佳答案

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

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

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

09-30 09:59