ホームページ  >  記事  >  データベース  >  mysqlで外部キー制約を作成する方法

mysqlで外部キー制約を作成する方法

下次还敢
下次还敢オリジナル
2024-05-01 20:28:00433ブラウズ

MySQL で外部キー制約を作成すると、データの整合性を確保するために、サブテーブルのレコードをメインテーブルのレコードに強制的に関連付けることができます。具体的な手順は次のとおりです: 1. サブテーブルの外部キー列を指定します。 2. メインテーブルの一意のインデックス列を参照します。 3. カスケード削除または更新操作を設定します (オプション)。

mysqlで外部キー制約を作成する方法

MySQL での外部キー制約の作成

外部キー制約は、テーブル内のデータの整合性を確保するために使用されるデータベース制約です。これにより、子テーブルの各レコードがメイン テーブルの既存のレコードを参照するようになります。

外部キー制約の作成方法

MySQL では、子テーブルの作成時に外部キー制約を指定することで、外部キー制約を作成できます。構文は次のとおりです。

<code class="sql">CREATE TABLE child_table (
  child_column INT NOT NULL,
  PRIMARY KEY (child_column),
  FOREIGN KEY (child_column) REFERENCES parent_table (parent_column)
);</code>

ここで、

  • child_table は子テーブルの名前です。
  • parent_table はメインテーブルの名前です。
  • child_column は、子テーブルの外部キー列です。
  • parent_column は、メイン テーブルの参照列です。

外部キー制約の意味

外部キー制約が作成されると、次のルールが適用されます:

  • 子内のすべてのレコードテーブルを参照する必要があります メインテーブル内の既存のレコード。
  • 親テーブルの参照レコードが削除されると、子テーブルの参照レコードも削除されます(カスケード削除)。
  • 親テーブルの参照レコードが更新されると、子テーブルの参照レコードも更新されます(カスケード更新)。

外部キー制約を使用する利点

外部キー制約を使用すると、多くの利点があります:

  • データの整合性を確保します:外部キー制約は、存在しないレコードを指す子テーブルへの外部キー値の挿入を防ぎます。
  • 強制的なデータ関連付け: 外部キー制約により、子テーブルのレコードがメイン テーブルのレコードに強制的に関連付けられます。
  • データ メンテナンスの簡素化: メイン テーブルのレコードが削除または更新されると、子テーブルのレコードも自動的に更新または削除されるため、外部キー制約によりデータ メンテナンスが簡素化されます。

  • メイン テーブルの列には一意のインデックスが必要です。 外部キー列はメイン テーブルの列を参照する必要があります。ユニークなインデックスを持っています。
  • 外部キー列は子テーブルに存在する必要があります: 外部キー列は子テーブル内の既存の列である必要があります。
  • カスケード削除および更新操作はオプションです。 カスケードは、ON DELETE CASCADE および ON UPDATE CASCADE オプションの削除と更新を指定することで有効にできます。オペレーション。

以上がmysqlで外部キー制約を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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