MySQLで外部キーを設定しようとして、
ALTER TABLE `child` add FOREIGN key(`id`) REFERENCES parent(`id`);
とした場合、「#1452 – Cannot add or update a child row: a foreign key constraint fails」エラーが返ってくることがあります。
childテーブルのidに、parentテーブルのidに存在しない値が入っているとこのエラーになります。childテーブルのidの値を修正すればOKです。
こちらのサイトを参照しました。