无法改变表添加外键

时间:2017-07-12 13:30:38

标签: sql alter

alter table course_relation
add foreign key (offered_By)
references department_relation(dept_cd)

alter table department_relation
add foreign key(hod)
references staff_relation(staff_no)

alter table staff_relation
add foreign key (dept_cd)
references department_relation(dept_cd)

//第三段不起作用,但前两项工作正常 错误讯息:

  

消息547,级别16,状态0,行10 ALTER TABLE语句   与FOREIGN KEY约束冲突   “FK__staff_rela__dept__1BC821DD”。冲突发生在数据库中   “Royal_Poly_DB”,表“dbo.Department_Relation”,列“Dept_Cd”。

1 个答案:

答案 0 :(得分:0)

您无法创建循环外键引用。

在本声明中

  alter table department_relation
  add foreign key(hod)
  references staff_relation(staff_no)

在此alter query中,您可以在'staff_relation'表中的'department_relation'中创建外键引用。

alter table staff_relation
add foreign key (dept_cd)
references department_relation(dept_cd)

在此alter query中,您可以在'department_relation'表中的'staff_relation'中创建外键引用。

这是外键的循环依赖,允许使用。