我愚蠢,一年前为客户创建了表格。现在我知道更好,应该使用关系。现在我想在Navicat中创建它们。执行:
ALTER TABLE geerdink_new.dossier
ADD CONSTRAINT fk_dossier_klant_1
FOREIGN KEY (dossierKlantID)
REFERENCES geerdink_new.klant (klantID)
我收到了一些错误:
[Msg]失败 - 外键错误fk_dossier_klant_1 - 1452 - 无法添加或更新子行:外键约束失败(
geerdink_new
。#sql-420_51
,CONSTRAINTfk_dossier_klant_1
FOREIGN KEY (dossierKlantID
)参考klant
(klantID
))
我怎么能解决这个问题?
答案 0 :(得分:2)
这不是Navicat错误,而是MySQL错误。当您尝试创建约束时,某些内容无法正确匹配,可能是:
1)列定义不相同(例如,一个是无符号整数,另一个是有符号整数)
2)一列中的值与您正在创建关系的列中的值不对应。
编辑:尝试此查询:
SELECT klantID FROM klant LEFT JOIN geerdink_new ON geerdink_new.dossierKlantId = klant.klantID WHERE dossierKlantId IS NULL;