首頁 >資料庫 >mysql教程 >MySQL如何引用多列主鍵?

MySQL如何引用多列主鍵?

DDD
DDD原創
2024-12-02 18:16:15684瀏覽

How Do I Reference a Multi-Column Primary Key in MySQL?

MySQL 中引用多列主鍵

在表與表之間建立關係時,經常會遇到一個主鍵由多個主鍵組成的場景列。在 MySQL 中,為此類表建立外鍵需要量身訂做的方法。

考慮一個場景,其中您有一個具有以下主鍵的表:

CREATE TABLE ProductAttributes (
  product_id INT NOT NULL,
  attribute_id INT NOT NULL,
  PRIMARY KEY (product_id, attribute_id)
);

現在,假設您有另一個需要引用 ProductAttributes 表的表。若要建立連結兩個表的外鍵,請依照下列步驟操作:

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

透過指定參考表中的列和主鍵表中的對應列,您可以建立外鍵約束。此約束可確保引用表中的每一行在主鍵表中都有相符的主鍵。

注意事項:

  • MySQL 要求外鍵是indexed,它解釋了引用列上的索引。
  • 利用約束語法來命名約束,以便於變更或刪除稍後。
  • 請記住,InnoDB 強制執行外鍵,而 MyISAM 會忽略它們。

以上是MySQL如何引用多列主鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn