0
我用MySQL 5.5创建了一个具有多列主键的table1,该列由两个FLOAT列创建。我想用一个指向table1主键的外键创建table2。如何创建指向多列主键的单个外键?
可能吗?我该怎么做,并且可能/使用phpmyadmin GUI的速度很快?
我用MySQL 5.5创建了一个具有多列主键的table1,该列由两个FLOAT列创建。我想用一个指向table1主键的外键创建table2。如何创建指向多列主键的单个外键?
可能吗?我该怎么做,并且可能/使用phpmyadmin GUI的速度很快?
您可以拥有引用两列的单个外键。但是对于由一个列组成的外键不可能参考两个列。假设所有这些列都是整数。你将存储在表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引擎来强制执行外键。
因此,将table_2的单个列链接到table_1的多列主键是不可能的?我这样问是因为我将多列主要数据作为一个具有自己的值的索引,从主键的列值生成,但我认为这是不正确的。 – 2013-05-11 11:29:18
不,一列不可能引用两列。假设所有这些列都是整数。你将在table_2中的* single * integer列中存储什么值,以匹配table_1中的* 2个整数列? – 2013-05-11 12:09:29
谢谢。你能更新答案吗? – 2013-05-11 12:47:15