phpMyAdmin: 外部キーの設定
phpMyAdmin を使用してリレーショナル データベースを確立するときに、「いいえ」というメッセージが表示される場合があります。インデックスが定義されました!」中間テーブルの外部キーを設定しようとしたときにエラーが発生しました。この記事では、この問題を解決し、外部キー制約を効果的に作成するために必要な手順について説明します。
前提条件
- 2 つのテーブルを作成します。主キーにインデックスが付けられ、主キーフィールドが次のように設定されます。 INT(11).
- すべてのテーブルを外部キーをサポートする InnoDB エンジンに変換します。
外部キー関係の作成
これらの条件が満たされたら、以下に従ってください手順:
- phpMyAdmin で中間テーブル (foo_bar など) を開きます。
- 「リレーション ビュー」タブに移動します。
- 「外部キー」 foo_bar.foo_id の列では、参照される主キー列を含むテーブルを選択します (例:
- 適切なテーブル (database.bar など) を参照して、foo_bar.bar_id に対してステップ 3 を繰り返します。
- 「更新時」アクションと「削除時」アクションを定義します (例: 制限、カスケード、NULL 設定、など)。
「インデックスが定義されていません!」の解決エラー
「インデックスが定義されていません!」の場合エラーが解決しない場合は、次の手順が実行されていることを確認してください:
- 参照テーブル (foo_bar.foo_id) の外部キー列にインデックスを作成します。
- 参照テーブルと参照されるテーブルには InnoDB エンジンが選択されています。
使用の利点外部キー
データベース内で外部キーを明示的に定義すると、次のような利点があります。
- 参照データが存在することを保証することで、データの整合性を確保します。
- データを防止します。行の削除または更新時の不整合を防止します。
- データを簡素化します。特に複数テーブルのシナリオでの操作タスク。
- データの取得を最適化することでデータベースのパフォーマンスを向上させます。
以上がphpMyAdmin で外部キーを設定するときに発生する「インデックスが定義されていません!」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。