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如何引用多列主键?的详细内容。更多信息请关注PHP中文网其他相关文章!