MySQLで外部キーを貼り直すときに以下の様なエラーが出ることがあります。
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails
これは外部キーのルールから外れる不整合なデータが既にあるため、このデータを一旦削除する必要があります。
hogeに紐づくhoge_mapでhoge上からは削除されているがhoge_mapからは削除されてないデータが残っていた場合、
DELETE FROM hoge_map WHERE hoge_id NOT IN( SELECT hoge_id FROM hoge );
などのようにして不整合のあるデータを削除した上で
ALTER TABLE hoge_map ADD FOREIGN KEY (`hoge_id`) REFERENCES `hoge` (`hoge_id`) ON DELETE CASCADE;
と外部キーを設定します。
この外部キーを設定することで hoge上からデータを削除するとそれに紐づくhoge_mapのデータも削除されるようになります。