0

これは、2 つのテーブルを接続しようとする私の変更ステートメントです。

ALTER TABLE my_contacts 
  CHANGE `profession` `profession_id`  INT NOT NULL, 
  ADD CONSTRAINT professions_profession_id_fk 
  FOREIGN KEY (profession_id) REFERENCES professions (profession_id)

次のエラーがあります。

#1452 - Cannot add or update a child row: a foreign key constraint fails (`contacts`.<result 2 when explaining filename '#sql-1ca_73'>, CONSTRAINT `professions_profession_id_fk` FOREIGN KEY (`profession_id`) REFERENCES `professions` (`profession_id`))

誰でもこれが何であるかについて私を導くことができますか? これまでツールを使用してきたので、実際にSQLを自分で書く方法を学んでいます。

4

2 に答える 2

1

これは関係の対立です。これを解決しやすいのは

  • フィールド間の関係を削除します
  • テーブルを変更する
  • リレーションシップを再度追加するときに、表示されるエラーを修正します。
于 2012-04-22T11:35:56.223 に答える
1

外部キー制約が失敗しています。

作成しようとしている外部キーは、my_contacts 内のすべての職業 ID を職業テーブルに存在させるように強制します。今のところ、そうではありません。職業に職業 ID が存在しない my_contacts のすべてのレコードを検索し、それらを最初に修正する必要があります。

于 2012-04-22T11:39:30.203 に答える