ホームページ >データベース >mysql チュートリアル >MySQL の複数の列に一意の制約を適用するにはどうすればよいですか?

MySQL の複数の列に一意の制約を適用するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-16 16:37:10388ブラウズ

How to Enforce Unique Constraints Across Multiple Columns in MySQL?

複数の MySQL 列の一意制約の指定

MySQL データベース管理のコンテキストでは、テーブルの一意制約により、同じ行が 2 つ含まれないことが保証されます。指定された列のセットの値。このような制約を強制するには、ALTER TABLE コマンドと ADD UNIQUE コマンドを組み合わせて使用​​します。

概要:

ALTER TABLE <table_name> ADD UNIQUE <index_name>(<column1>, <column2>, ...)

例:

次の表を考えてみましょうスキーマ:

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

ユーザー、電子メール、およびアドレス列の組み合わせが一意であることを確認するには、次のコマンドを実行します:

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

説明:

  • ALTER TABLE ステートメントは、一意のスキーマを追加してテーブルのスキーマを変更します。制約。
  • ADD UNIQUE 句は、指定された列 (ユーザー、電子メール、アドレス) がすべての行にわたって一意の値を持つ必要があることを指定します。
  • unique_index はインデックスに割り当てられたカスタム名です。

この制約を実装することで、MySQL は同一のユーザー、電子メール、アドレスの組み合わせを持つ複数の行が存在できないことを保証し、重複を防ぎます。エントリ。

以上がMySQL の複数の列に一意の制約を適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。