テーブル A への外部キー参照 (ON UPDATE CASCADE に設定) を持つテーブル B があり、
LOAD DATA INFILE file.txt REPLACE INTO TABLE A;
コマンド、参照は正しく更新されますか?
ON DELETE CASCADE について話しているのではないことに注意してください。そのセットがある場合、REPLACEコマンドがテーブルBのレコードを削除することを私は知っています。
同様の回答を検索した後、実際にここにたどり着きました。制約に ON DELETE CASCADE が設定されている限り、REPLACE INTO は引き続きアイテムを削除するようです。
http://www.mysqlperformanceblog.com/2007/01/18/insert-on-duplicate-key-update-and-replace-into/を参照してください。
MySQL は、replace クエリの結果として update イベントを発生させず、delete のみを発生させます。理由は次のとおりです。
REPLACE は INSERT とまったく同じように機能しますが、テーブル内の古い行が PRIMARY KEY または UNIQUE インデックスの新しい行と同じ値を持つ場合、新しい行が挿入される前に古い行が削除される点が異なります。
ON UPDATE CASCADE ON DELETE SET NULL で設定された外部キーがあり、外部テーブルの主キーに REPLACE を実行すると、関連するテーブルの外部キーが NULL に設定されます。