MySQL中的多列外键?

时间:2023-04-29
本文介绍了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中的多列外键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何从 MySQL 中选择表名是可变的 下一篇:问号在 MySQL 中“WHERE column = ?"的意义是什么?

相关文章