ホームページ  >  記事  >  データベース  >  Navicat が外部キーを設定して保存できないのはなぜですか?

Navicat が外部キーを設定して保存できないのはなぜですか?

下次还敢
下次还敢オリジナル
2024-04-24 00:42:16805ブラウズ

Navicat で設定された外部キーの保存が失敗する理由は次のとおりです。 テーブル構造の不一致 (外部キー列と参照列のタイプ/長さが一致していない) 循環参照 (外部キーが循環参照を形成している (A テーブルなど)外部キー参照) テーブル B、およびテーブル B の外部キーはテーブル A を参照) 制約の競合 (外部キーの設定によりデータ整合性制約の競合が発生します) その他の制限 (外部キーの数、参照列の数の制限)

Navicat が外部キーを設定して保存できないのはなぜですか?

#Navicat で外部キーを設定するときに外部キーを保存できない場合の解決策

Navicat で外部キーを設定するときに外部キーを保存できない場合の解決策Navicat で外部キーを設定する場合、次の理由が考えられます:

1. テーブル構造の不一致##外部キー列と参照列は同じデータ型でなければなりません。長さ。 2 つが一致しない場合、Navicat は外部キー設定を保存できません。

2. 循環参照

外部キー参照は循環参照を形成できません。たとえば、テーブル A の外部キーはテーブル B を参照し、テーブル B の外部キーはテーブル A を参照します。これにより、Navicat は外部キー設定を保存できなくなります。

3. 制約違反

外部キー設定によりデータ整合性制約違反が発生する場合、Navicat は設定を保存できません。たとえば、テーブル B に存在しないレコードを参照するレコードがテーブル A にある場合、Navicat は外部キー設定を保存できません。

4. その他の制限

Navicat には、外部キーを設定するときに次のようないくつかの制限もあります。

各外部キーは参照のみ可能です。 10列。
  • 各テーブルには最大 9 つの外部キー制約のみを含めることができます。
解決策:

    テーブル構造を確認してください
  1. : 外部キー列のデータ型と長さ、および参照列は一貫しています。
  2. 循環参照の排除
  3. : 循環参照を避けるためにテーブル構造を再設計します。
  4. データ整合性の問題の解決
  5. : すべてのレコードが関連するテーブルに存在することを確認します。
  6. 制限に従います
  7. : 外部キーの数と参照される列の数を制限します。
  8. 外部キーを再確立する
  9. : 上記の問題を解決した後、対象のテーブルを右クリックし、[外部キー] > [新しい外部キー] を選択して外部キーをリセットします。

以上がNavicat が外部キーを設定して保存できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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