MySQL中的多列外键? [英] Multiple-column foreign key in MySQL?

查看:192
本文介绍了MySQL中的多列外键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a table that has a primary key consisting of two columns (product_id, attribute_id). I have another table that needs to reference this table. How can I make a foreign key in the other table to link it to a row in the table with two primary keys?

推荐答案

应该执行以下操作:

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则不强制. (语法已解析但被忽略)
  • 这篇关于MySQL中的多列外键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆