質問: MySQL でコミットするまで外部キー制約を延期できますか?
この質問は、MySQL で一括挿入を実行するとき、特に試行するときに発生します。外部キーでリンクされたテーブルにデータを挿入します。トランザクション内で挿入を実行しているにもかかわらず、制約エラーが発生する可能性があります。
回答:
残念ながら、MySQL ドキュメントによると、InnoDB の参照整合性チェックは各行の実行中に即時に実行されます。トランザクションがコミットされるまで延期されるのではなく、挿入が行われます。この動作は、遅延制約チェックを指定する SQL 標準から逸脱しています。
即時チェックでは、特に自己参照テーブルや外部キー参照を順次更新する必要があるシナリオを処理する場合に制限が課せられます。 MySQL が遅延制約チェックを実装するまで、そのような操作には別のアプローチが必要になる可能性があります。
以上がMySQL でコミットするまで外部キー制約を延期できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。