MySQL で複数の列に一意制約を指定するにはどうすればいいですか? 質問する

MySQL で複数の列に一意制約を指定するにはどうすればいいですか? 質問する

テーブルがあります:

table votes (
    id,
    user,
    email,
    address,
    primary key(id),
);

ユーザー、電子メール、アドレスの列を一意にするにはどうすればよいでしょうか。つまり、3 つの列すべてに同じ値を持つ行のペアが存在しないことを確認するにはどうすればよいでしょうか。

ベストアンサー1

一意制約を追加するには、次の 2 つのコンポーネントを使用する必要があります。

ALTER TABLE- テーブルスキーマを変更し、

ADD UNIQUE- 一意制約を追加します。

次に、新しい一意のキーを次の形式で定義します。'name'('column1', 'column2'...)

したがって、特定の問題に対しては、次のコマンドを使用できます。

ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);

おすすめ記事