无法获得外键

时间:2011-10-19 05:13:22

标签: sql-server sql-server-2008

USE Kudler_FF
ALTER TABLE Employee_Tbl
ADD CONSTRAINT FK_Employee_Tbl
FOREIGN KEY (JobTitle) REFERENCES Job_Tbl (JobTitle);

我收到的消息:

  

Msg 547,Level 16,State 0,Line 2
  ALTER TABLE语句与FOREIGN KEY约束“FK_Employee_Tbl”冲突。该   数据库“Kudler_FF”,表“dbo.Job_Tbl”列中发生冲突   'JOBTITLE'。

我添加或未添加的内容

1 个答案:

答案 0 :(得分:1)

当当前数据违反约束时,通常只会在添加外键约束时出错。

换句话说,Employee_Tbl(JobTitle)中可能存在Job_Tbl(JobTitle)中不存在的值。

在修改数据之前,您将无法添加此类约束,以免发生违规。

JobTitle中查找Employee_TblJob_Tbl的值,然后将其添加到后一个表格中。

我不确定SQL Server的确切语法,但您可以从:

开始
select distinct JobTitle from Employee_Tbl
where JobTitle not in (
    select distinct JobTitle from Job_Tbl
)