0

私は馬鹿で、1年前に顧客のためにテーブルを作成しました。今、私はよく知っているので、関係を使うべきでした。今、私はNavicatでそれらを作成しようとしています。実行中:

ALTER TABLE geerdink_new.dossier 
  ADD CONSTRAINT fk_dossier_klant_1 
    FOREIGN KEY (dossierKlantID) 
    REFERENCES geerdink_new.klant (klantID) 

いくつかのエラーが発生しています:

[メッセージ]失敗-外部キーのエラーfk_dossier_klant_1-1452-子行を追加または更新できません:外部キー制約が失敗します(geerdink_new#sql-420_51、CONSTRAINT fk_dossier_klant_1FOREIGN KEY(dossierKlantID)REFERENCES klantklantID))

どうすればこれを解決できますか?

4

1 に答える 1

2

これはNavicatエラーではなく、MySQLエラーです。制約を作成しようとしているときに、何かが正しく一致していない可能性があります。

1)列の定義が同一ではありません(たとえば、1つは符号なし整数で、もう1つは符号付き整数です)

2)1つの列に、関係を作成している列の値と一致しない値があります。

編集:このクエリを試してください:

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