首页 >数据库 >mysql教程 >MySQL中如何用外键引用两列主键?

MySQL中如何用外键引用两列主键?

Susan Sarandon
Susan Sarandon原创
2024-12-20 07:17:10838浏览

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

用外键引用 MySQL 中的两列主键

在设计关系数据库表时,经常会遇到多列的情况形成一个表的主键,另一个表需要引用它。在 MySQL 中,创建外键来链接到此类复合主键需要一些特定的考虑。

要在引用两列主键(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)必须有索引。
  • 使用约束语法: CONSTRAINT 语法允许您命名约束,以便以后在必要时更容易管理和操作。
  • 使用InnoDB引擎: InnoDB严格执行外键,确保数据完整性。另一方面,MyISAM 会解析外键约束,但最终会忽略它们。

以上是MySQL中如何用外键引用两列主键?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn