0

所以我有 2 个用 fk 相互关联的表

appointment
  {id, dept.id, datetime, sometable.id, sometableagain.id}
task
  {id, appointment.id, deptlead.id, taskname}
deptlead
  {id, name}

所以我不得不将约会表更改为另一个表中的另一个外键。所以我删除了键(task_appointment_fk、appointment_sometable_fk、appendation_sometableagain_fk)更改表以添加新字段并再次添加所有内容。最后两个添加没有问题。而另一个(task_appointment_fk)一直给我一条消息:

"ALTER TABLE statement conflicted with the Forien Key Constraint "dept_appointment". The Cconflict occurred in the database "MyDb" , table "appointment", column "id"

所以我找到了一些解决方案,指出任务上可能有一些行具有约会表中不存在的约会ID 值。所以我尝试插入具有相同值的行。仍然给我同样的东西。问题是,我想从任务中删除行以使其更容易,但这样做我必须再次删除所有 fks 并在其他表上做同样的事情,而且我还有很多其他表..

需要一些建议。

谢谢!!

4

1 回答 1

0

您可以编写查询以查看外键表中的哪些值在主键表中没有匹配的键记录。如果存在值,则尝试删除它们。

select   * from     [task] a
left join [appointment] b
 on       a.appointment_id = b.id
于 2012-06-06T01:23:46.860 回答