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

Linda Hamilton
リリース: 2024-11-09 13:49:02
オリジナル
318 人が閲覧しました

Can Foreign Key Constraints Be Deferred Until Commit in MySQL?

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

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

回答:

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

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

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート