-1

私はこのようなテーブルを持っています:

something
a [INT]
b [INT]
c [INT]

...ここで、 ab、およびcは、3 つの異なるtable.idを指す個別の外部キーです。すべてのレジストリを一意にしたいので、このすばらしい回答を読んだ後、次の方法で新しいインデックスを作成する必要があると思います。(私の場合) IGNORE INSERTS を実行します。 しかし、ご覧のとおり、各列に 1 つの KEY があり、3 つすべてを含む別の UNIQUE INDEX があります。これは普通のことですか?私には奇妙に思えますが、私はそれを見たことがありません。UNIQUE INDEX(a, b, c)

4

2 に答える 2

1

複数のインデックスに列を含めることは完全に正常で合理的です。ただし、(a、b、c)の組み合わせで行を一意に識別するのに十分な場合は、ここPRIMARYではインデックスではなくインデックスが必要なようUNIQUEです(技術的にはほとんど違いはありませんが、意味的にはより良い選択かもしれません)。

于 2013-01-29T11:15:21.457 に答える
-1

何か (a、b、c) が一意のインデックスの必要性を無効にする場合は、主キーを作成します。主キーがSomething(a, b)で、Unique Index (a, b, c)が必要な場合、追加のUniqueインデックスは理にかなっています。ただし、3 つの列はすべて Foreignkey であるため、主キー インデックスが必要です。

于 2013-01-29T11:18:53.423 に答える