ホームページ >データベース >mysql チュートリアル >MySQL でコミットするまで外部キー制約を延期できますか?

MySQL でコミットするまで外部キー制約を延期できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-09 13:49:02375ブラウズ

Can Foreign Key Constraints Be Deferred Until Commit in MySQL?

質問: MySQL でコミットするまで外部キー制約を延期できますか?

この質問は、MySQL で一括挿入を実行するとき、特に試行するときに発生します。外部キーでリンクされたテーブルにデータを挿入します。トランザクション内で挿入を実行しているにもかかわらず、制約エラーが発生する可能性があります。

回答:

残念ながら、MySQL ドキュメントによると、InnoDB の参照整合性チェックは各行の実行中に即時に実行されます。トランザクションがコミットされるまで延期されるのではなく、挿入が行われます。この動作は、遅延制約チェックを指定する SQL 標準から逸脱しています。

即時チェックでは、特に自己参照テーブルや外部キー参照を順次更新する必要があるシナリオを処理する場合に制限が課せられます。 MySQL が遅延制約チェックを実装するまで、そのような操作には別のアプローチが必要になる可能性があります。

以上がMySQL でコミットするまで外部キー制約を延期できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。