【问题标题】:Column 'tblGender.ID' is not the same data type as referencing column 'tblPerson.GenderID' in foreign key 'tblPerson_GenderID_FK'列“tblGender.ID”与外键“tblPerson_GenderID_FK”中引用列“tblPerson.GenderID”的数据类型不同
【发布时间】:2015-02-24 16:46:28
【问题描述】:

帮助 我不知道下一步该怎么做 我尝试了不同的方法,但仍然显示相同的错误。如您所见,我使用的是相同的数据类型(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”的数据类型相同 键“tblPerson_GenderID_FK”。消息 1750,第 16 级,状态 0,第 18 行 无法创建约束或索引。查看以前的错误。

【问题讨论】:

  • GenderID varchar (15) => 应该是“int”数据类型

标签: sql database debugging key relationship


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2018-01-12
    • 2020-08-12
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 2020-07-24
    相关资源
    最近更新 更多