2013-05-11 104 views

回答

0

您可以拥有引用两列的单个外键。但是对于由一个列组成的外键不可能参考两个列。假设所有这些列都是整数。你将存储在表2中的单个整数列中将与两个表中的整数列匹配的值为多少?

alter table table_2 
add constraint your_constraint_name 
foreign key (column_1, column_2) references table_1 (column_1, column_2); 

这里假定TABLE_1的主键列被命名为“COLUMN_1”和“COLUMN_2”,并在TABLE_2,相应的列具有相同的名称。

您需要使用MySQL的InnoDB引擎来强制执行外键。

+0

因此,将table_2的单个列链接到table_1的多列主键是不可能的?我这样问是因为我将多列主要数据作为一个具有自己的值的索引,从主键的列值生成,但我认为这是不正确的。 – 2013-05-11 11:29:18

+1

不,一列不可能引用两列。假设所有这些列都是整数。你将在table_2中的* single * integer列中存储什么值,以匹配table_1中的* 2个整数列? – 2013-05-11 12:09:29

+0

谢谢。你能更新答案吗? – 2013-05-11 12:47:15