0

MySQL: 5.5.27

phpMyAdmin: 最新バージョンの 1 つ

私は、他のテーブルの中でも、これらを含むデータベースを持っています:

  • メンバー
  • 言語
  • member_language

急いで作成し、テスト目的で入力する必要があったため、遅ればせながら、すべての制約が適切であるとは限らないことに気付きました。たとえば、member_languageテーブルのmember_idは明らかに member テーブルの mem_id にマップする必要があり、member_languageテーブルlanguage_idlanguageテーブルのlang_idにマップする必要があります。そのため、3 つのテーブルすべてを再作成し、すべてのデータをコピーしたテーブルに再インポートしました。最初のメンバー、次に言語、最後に member_language です。

次に、 member_language に制約を適用しようとしましたが、 member_language.member_idにリンクするmember.mem_idの fk 制約の作成に失敗しました。を投げるたびに

#1452 error - Cannot add or update a child row: a foreign key constraint fails (`dbname`.`#sql-122f_bec4cef`, CONSTRAINT `#sql-122f_bec4cef_ibfk_2` FOREIGN KEY (`member_id`) REFERENCES `member` (`mem_id`))

誰かがここで私を正しい方向に向けることができますか? たっくすSP

4

1 に答える 1

0

OK、これが問題の内容です。

member_language テーブルにいくつかの member_id 値がありませんでした。これが唯一の問題ではないかもしれませんが、確かに 1 つの問題は、phpMyAdmin から作成した SQL エクスポート ファイルがいくつかの値をスキップしたことです!!

テーブルを見ながらブラウズビューで値を見ることができたので、これは本当に奇妙です。したがって、実際には不一致があり、それが問題の原因であると私は推測しています。

他に考えられる理由が見つかったらまた投稿します...

于 2013-10-05T10:58:49.173 に答える