无法实现外键

时间:2011-10-19 03:40:08

标签: sql sql-server tsql

我正在尝试构建employee_tbl中的职位名称列,该列引用job_tbl中的职位名称列。在employee_tbl上构建此外键需要“alter table”语句。

这就是我所拥有的以及我得到的信息:

CREATE TABLE JobTitle
(
    Employee_Tbl int identity(1,1) PRIMARY KEY NOT NULL,

    JobTitle int NULL FOREIGN KEY REFERENCES Job_Tbl(JobTitle)
);

错误讯息:

Msg 1778, Level 16, State 0, Line 1
Column 'Job_Tbl.JobTitle' is not the same data type as referencing column
    'JobTitle.JobTitle' in foreign key 'FK__JobTitle__JobTit__29572725'.
Msg 1750, Level 16, State 0, Line 1
Could not create constraint. See previous errors.

1 个答案:

答案 0 :(得分:0)

检查Job_Tbl.JobTitle的数据类型。它可能是varchar / char / other类型。您的JobTitle.JobTitle是int类型。通常在外键上它将匹配另一个表的主键。如果Job_Tbl的主键是auto_number或ID文件,则使用它。