试图在Navicat中创建关系

时间:2013-02-02 14:07:28

标签: mysql

我愚蠢,一年前为客户创建了表格。现在我知道更好,应该使用关系。现在我想在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,CONSTRAINT fk_dossier_klant_1 FOREIGN KEY (dossierKlantID)参考klantklantID))

我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:2)

这不是Navicat错误,而是MySQL错误。当您尝试创建约束时,某些内容无法正确匹配,可能是:

1)列定义不相同(例如,一个是无符号整数,另一个是有符号整数)

2)一列中的值与您正在创建关系的列中的值不对应。

编辑:尝试此查询:

SELECT klantID FROM klant LEFT JOIN geerdink_new ON geerdink_new.dossierKlantId = klant.klantID WHERE dossierKlantId IS NULL;