2

ペアの列を一意のキーにする方法を知りたいですか?

私はMySQLワークベンチに取り組んでおり、現在2つの列(follow、following)をUQに設定していますが、これは一意キーだと思いますか?

したがって、行を挿入しようとしたときに、挿入しようとしました

follow      following
  3              5
  3              6

しかし、フォローはユニークキーです。ただし、個々の番号ではなく、ペアに対してのみ一意のキーを実行したいと思います。

ありがとう

4

2 に答える 2

3

私が間違っていない場合は、列ごとに一意のキーを設定しているだけです。化合物カラムを使用したい場合UNIQUEは、試してみてください

ALTER TABLE tableName ADD CONSTRAINT tb_UQ UNIQUE (follow, following)

ステートメントを実行するALTERと、上記のサンプルデータは有効ですが、別のペアを挿入しようとすると3, 5、失敗することが保証されます。

于 2013-02-02T01:50:09.110 に答える
1

PRIMARYキーとしてテーブルを作成した場合follow、RDBMSはその列のみに基づいて一意性を適用します。

JWの提案の代わりに、主キーを変更できます。

ALTER TABLE tableName DROP PRIMARY KEY;
ALTER TABLE tableName ADD CONSTRAINT tb_UQ PRIMARY KEY (follow, following);
于 2013-02-02T01:58:27.787 に答える