一尘不染

MySQL中的多列外键?

mysql

我有一个表,该表的主键包含两列(product_id,attribute_id)。我有另一个表需要引用该表。如何在另一个表中创建外键,以使用两个主键将其链接到表中的行?


阅读 527

收藏
2020-05-17

共1个答案

一尘不染

这样的事情应该做到:

CREATE TABLE MyReferencingTable AS (
   [COLUMN DEFINITIONS]
   refcol1 INT NOT NULL,
   rofcol2 INT NOT NULL,
   CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2)
                        REFERENCES OtherTable(col1, col2)
) ENGINE=InnoDB;
  • MySQL要求对外键进行索引,因此引用列上的索引
  • 使用约束语法使您能够命名约束,从而在以后需要时更容易更改和删除。
  • InnoDB强制使用外键,而MyISAM不强制。(语法已解析但被忽略)
2020-05-17