MySQL でコミットするまで参照整合性チェックを延期する
データベース管理では、参照整合性を維持することで、テーブル間のデータの一貫性が確保されます。人気のリレーショナル データベース管理システムである MySQL は、デフォルトで参照整合性チェックを強制します。これにより、同じトランザクション内で複数の関連レコードを挿入するときに問題が発生する可能性があります。
問題ステートメント:
PHP PDO を使用して製品と関連製品を同時に挿入しようとすると、参照整合性制約によりエラーが発生します。この問題は単一トランザクション内でも発生し、結合テーブルを介して関連するレコードを挿入することが困難になります。
回答:
提供された回答によると、デフォルトの InnoDB MySQL のストレージ エンジンは外部キー制約を即座にチェックします。これは、参照整合性チェックをコミットまで延期できないことを意味します。この動作は、制約チェックを遅延する必要があることを指定する SQL 標準とは異なります。
結論:
MySQL は遅延参照整合性チェックをサポートしていませんが、代替アプローチを検討しています。必要かもしれない。研究者は、行ベースのトリガーを調査するか、遅延制約チェックをより適切にサポートする別のデータベース管理システムの使用を検討するかもしれません。
以上がMySQL はコミットするまで参照整合性チェックを延期できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。