1. ホーム
  2. mysql

[解決済み] MySQLで複数のカラムに一意制約を指定するには?

2022-03-16 05:57:27

質問

テーブルがあります。

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

次に、カラムを ユーザー、電子メール、アドレス を(一緒に)ユニークにします。

MySql でこれを行うにはどうすればよいですか?

もちろん、この例はあくまで例です。ですから、意味的なことは気にしないでください。

解決するには?

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

ALTER TABLE - をクリックしてテーブルスキーマを変更し

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

そして、新しいユニークキーを次のようなフォーマットで定義します。 'name'('column1', 'column2'...)

ですから、あなたの特定の問題には、このコマンドを使うことができます。

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