SQL外键约束不允许关系

时间:2009-05-26 06:57:31

标签: sql

我会直言不讳。 我正在现有数据库上构建一个网站,该网站没有关系以保持一致。我现在正试图增加关系以解决这个问题。

简化为: 我有一个库存物品表,位置表和零件表。

stock items表使用可在其他表(外键)中找到的ID。此表使用多列作为主键(包括locationid和partnr +其他一些) 我成功地在库存项目表中的位置ID和位置表之间添加了关系。 当我尝试添加库存项目表和零件表之间的关系时,会出现问题:

ALTER TABLE语句与FOREIGN KEY约束冲突(在parts表,partnumber表中)。

我检查了约束,没有人在那里。 我试图寻找对未存在的部分的引用,但我本来可以写一个错误的查询...

任何人都可以帮我弄清楚如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

是的,听起来你写了一个错误的查询,并且引用了不存在的部分。

SELECT partnumberid,(其他字段)
来自stockitems
在哪里partnumberid NOT IN(SELECT partnumberid FROM parts)

SELECT partnumberid,(otherfields)
来自stockitems si
LEFT JOIN部分p ON si.partnumberid = p.partnumberid
在哪里p.partnumberid IS NULL