ホームページ >データベース >mysql チュートリアル >MySQL で外部キーを使用して 2 列の主キーを参照するにはどうすればよいですか?

MySQL で外部キーを使用して 2 列の主キーを参照するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-20 07:17:10838ブラウズ

How to Reference a Two-Column Primary Key with Foreign Keys in MySQL?

外部キーを使用した MySQL の 2 列の主キーの参照

リレーショナル データベース テーブルを設計する場合、複数の列が存在する状況がよく発生します。テーブルの主キーを形成するため、別のテーブルがそれを参照する必要があります。 MySQL では、このような複合主キーにリンクする外部キーを作成するには、いくつかの特別な考慮事項が必要です。

2 列の主キー (product_id、attribute_id) を参照する別のテーブルに外部キーを確立するには:

CREATE TABLE MyReferencingTable (
    [COLUMN DEFINITIONS]
    refcol1 INT NOT NULL,
    refcol2 INT NOT NULL,
    CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2)
    REFERENCES OtherTable(product_id, attribute_id)
) ENGINE=InnoDB;

この構文はいくつかのキーを指示しますポイント:

  • 参照列のインデックス作成: MySQL では外部キー列にインデックスを付ける必要があるため、参照列 (refcol1、refcol2) にはインデックスが必要です。
  • 制約構文の使用: 制約構文を使用すると、制約に名前を付けることができるため、後で必要に応じて管理および操作することが容易になります。
  • InnoDB エンジンの使用: InnoDB は外部キーを厳密に強制し、データの整合性を確保します。一方、MyISAM は外部キー制約を解析しますが、最終的には無視します。

以上がMySQL で外部キーを使用して 2 列の主キーを参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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