ホームページ >データベース >mysql チュートリアル >MySQL データベースの外部キーの定義と制限事項

MySQL データベースの外部キーの定義と制限事項

WBOY
WBOYオリジナル
2024-03-15 12:36:041133ブラウズ

MySQL データベースの外部キーの定義と制限事項

タイトル: MySQL データベースにおける外部キーの定義と制限

MySQL データベースでは、外部キーはテーブル間の関係を確立するために使用される制約です。外部キーは、あるテーブルのデータが別のテーブルのデータに関連付けられることを保証します。外部キーを定義することで、データ間の参照整合性を実現し、データの一貫性と信頼性を確保できます。

1. 外部キーの定義

MySQL では、外部キーは次の構文で定義できます:

CREATE TABLE テーブル名 (
    列名のデータ型、
    外部キー列名のデータ型、
    FOREIGN KEY (外部キー列名) REFERENCES 関連テーブル名 (関連列名)
);

このうち、外部キー列名は現在のテーブルに関連付ける必要がある列名、関連テーブル名はそのテーブル名です。 関連する列名 は、関連するテーブル内で関連付ける必要がある列名です。この定義により、テーブル間に 1 対多の関係を確立できます。

2. 外部キーの制限

外部キーを定義する場合、データの整合性を確保するためにいくつかの制限を追加できます。一般的な外部キー制約の一部を次に示します。

  • ON DELETE CASCADE: マスター テーブルのレコードが削除されると、スレーブ テーブルの関連レコードも削除されます。
  • ON DELETE SET NULL: メイン テーブルのレコードが削除されると、スレーブ テーブルの関連レコードの外部キー値が NULL に設定されます。
  • ON UPDATE CASCADE: マスター テーブルのレコードの主キー値が更新されると、スレーブ テーブルの関連レコードの外部キー値も更新されます。
  • ON UPDATE SET NULL: マスター テーブルのレコードの主キー値が更新されると、スレーブ テーブルの関連レコードの外部キー値が NULL に設定されます。

次に、特定の外部キーの定義と制限の例を示します。

CREATE TABLE 親テーブル (
    id INT 主キー、
    名前 VARCHAR(50)
);

CREATE TABLE サブテーブル (
    id INT 主キー、
    親 ID INT、
    FOREIGN KEY (parent_id) REFERENCES 親テーブル (id) ON DELETE CASCADE
);

この例では、親テーブルと子テーブルの間に 1 対多のリレーションシップが確立されています。親テーブルのレコードが削除されると、子テーブルの関連レコードも削除されます。これにより、データの整合性と一貫性が保証されます。

上記の紹介を通じて、MySQL データベースでは、外部キーの定義と制限が非常に重要であることがわかります。これは、テーブル間の関係を確立し、それを効果的に管理および維持するのに役立ちます。データベース。

以上がMySQL データベースの外部キーの定義と制限事項の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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