ホームページ  >  記事  >  データベース  >  phpMyAdmin で外部キーを設定するときに発生する「インデックスが定義されていません!」エラーを解決するにはどうすればよいですか?

phpMyAdmin で外部キーを設定するときに発生する「インデックスが定義されていません!」エラーを解決するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-22 11:16:12927ブラウズ

How to Resolve the

phpMyAdmin: 外部キーの設定

phpMyAdmin を使用してリレーショナル データベースを確立するときに、「いいえ」というメッセージが表示される場合があります。インデックスが定義されました!」中間テーブルの外部キーを設定しようとしたときにエラーが発生しました。この記事では、この問題を解決し、外部キー制約を効果的に作成するために必要な手順について説明します。

前提条件

  • 2 つのテーブルを作成します。主キーにインデックスが付けられ、主キーフィールドが次のように設定されます。 INT(11).
  • すべてのテーブルを外部キーをサポートする InnoDB エンジンに変換します。

外部キー関係の作成

これらの条件が満たされたら、以下に従ってください手順:

  1. phpMyAdmin で中間テーブル (foo_bar など) を開きます。
  2. 「リレーション ビュー」タブに移動します。
  3. 「外部キー」 foo_bar.foo_id の列では、参照される主キー列を含むテーブルを選択します (例:
  4. 適切なテーブル (database.bar など) を参照して、foo_bar.bar_id に対してステップ 3 を繰り返します。
  5. 「更新時」アクションと「削除時」アクションを定義します (例: 制限、カスケード、NULL 設定、など)。

「インデックスが定義されていません!」の解決エラー

「インデックスが定義されていません!」の場合エラーが解決しない場合は、次の手順が実行されていることを確認してください:

  • 参照テーブル (foo_bar.foo_id) の外部キー列にインデックスを作成します。
  • 参照テーブルと参照されるテーブルには InnoDB エンジンが選択されています。

使用の利点外部キー

データベース内で外部キーを明示的に定義すると、次のような利点があります。

  • 参照データが存在することを保証することで、データの整合性を確保します。
  • データを防止します。行の削除または更新時の不整合を防止します。
  • データを簡素化します。特に複数テーブルのシナリオでの操作タスク。
  • データの取得を最適化することでデータベースのパフォーマンスを向上させます。

以上がphpMyAdmin で外部キーを設定するときに発生する「インデックスが定義されていません!」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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