我有一个表,我使用复合键作为主键。它创造了类似的东西:
CREATE TABLE FOO(
BAR1 INT,
BAR2 INT,
PRIMARY KEY (BAR1, BAR2))
BAR1 和 BAR2 是其他表的 FK:s,我想确保我的 FOO 表中总是有零个或一个元组,其中这两个键同时存在。基本上我希望它同时像:
PRIMARY KEY (BAR2, BAR1)
同时,必须允许密钥与其他密钥任意次数配对,因此它们不能每个都是唯一的。
所以当我完成
INSERT INTO FOO VALUES (1,2);
架构将不允许
INSERT INTO FOO VALUES (2,1);
在mysql中解决这个问题的好方法是什么?