0

我很笨,一年前为客户创建了表格。现在我知道得更好,应该使用关系。现在我正在尝试在 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_1FOREIGN KEY ( dossierKlantID) REFERENCES klant( klantID))

我该如何解决这个问题?

4

1 回答 1

2

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

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

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

编辑:试试这个查询:

SELECT klantID FROM klant LEFT JOIN geerdink_new ON geerdink_new.dossierKlantId = klant.klantID WHERE dossierKlantId IS NULL;
于 2013-02-02T14:13:09.860 回答