複合キーを主キーとして使用するテーブルがあります。次のようなものが作成されました。
CREATE TABLE FOO(
BAR1 INT,
BAR2 INT,
PRIMARY KEY (BAR1, BAR2))
BAR1 と BAR2 は他のテーブルの FK:s であり、両方のキーが同時に存在する FOO テーブルに常に 0 または 1 つのタプルがあることを確認したいと思います。基本的に、同時に次のようにしたいと思います。
PRIMARY KEY (BAR2, BAR1)
同時に、両方のキーを他のキーと任意の回数ペアにすることを許可する必要があるため、それぞれが一意になることはありません。
だから私がやったとき
INSERT INTO FOO VALUES (1,2);
スキーマは許可しない
INSERT INTO FOO VALUES (2,1);
これをmysqlで解決する良い方法は何ですか?