ホームページ > データベース > mysql チュートリアル > 外部キー制約を持つテーブルをどのように切り詰めますか?

外部キー制約を持つテーブルをどのように切り詰めますか?

DDD
リリース: 2024-11-24 16:40:14
オリジナル
142 人が閲覧しました

How do you Truncate Tables with Foreign Key Constraints?

外部キー制約のあるテーブルの切り詰め

外部キーによって制約されたテーブルを切り詰めようとすると、「できません」のようなエラーが発生することがよくあります。外部キー制約で参照されているテーブルを切り詰めます。」これは、外部キー関係を通じてテーブル間に確立された依存関係が原因です。

この問題を回避するには、外部キーのチェックを一時的に無効にして、テーブルの切り詰めを許可することができます。ただし、この操作はデータの不整合を引き起こす可能性があるため、注意して行う必要があります。

外部キー チェックを無効にしてテーブルを切り詰める

外部キーを無視してテーブルを切り詰めるにはchecks:

SET FOREIGN_KEY_CHECKS = 0;

TRUNCATE mygroup;
TRUNCATE instance;

SET FOREIGN_KEY_CHECKS = 1;
ログイン後にコピー

このシーケンスは外部キーのチェックを無効にします。指定されたテーブルを切り捨ててから、外部キー チェックを再度有効にします。

外部キー チェックを無効にするリスク

この方法はテーブルの切り捨てを有効にしますが、次のリスクが伴います。

  • 孤立した行 (一致しない行) を導入すると、データの整合性が損なわれる可能性があります。
  • 参照テーブルに無効な外部キーが含まれ、不整合が生じる可能性があります。

したがって、外部キーのチェックを無効にする前に、潜在的な影響を理解することが重要です。テーブルの切り捨ては慎重に行い、その結果を事前に徹底的に確認することをお勧めします。

以上が外部キー制約を持つテーブルをどのように切り詰めますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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