2

複合キーを主キーとして使用するテーブルがあります。次のようなものが作成されました。

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で解決する良い方法は何ですか?

4

2 に答える 2