mysql では、「テーブル名 (フィールド名) に一意のインデックス インデックス名を作成する」ステートメントを使用して一意のインデックスを追加できます。一意のインデックスは通常のインデックスと似ていますが、唯一の違いは、一意のインデックスに追加される値は一意である必要があります。null 値も許可されます。結合インデックスの場合、列の値の組み合わせは一意である必要があります。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
create unique index 索引名称 on 表名(字段名称)
Mysql インデックスには約 5 種類があります:
通常のインデックス (INDEX): 最も多くの種類があります。基本インデックス、なし 制限なし
一意のインデックス (UNIQUE): 「通常のインデックス」と同様、違いはインデックス列の値が一意である必要があるが、null 値であることです。許可されています。
主キー インデックス (PRIMARY): これは、NULL 値を許可しない特別な一意のインデックスです。
フル テキスト インデックス (FULLTEXT): MyISAM テーブルに使用できます。mysql5.6 以降の innodb テーブルにも使用できます。記事内のテキスト情報を取得するために使用されます。データが大きい場合、全文インデックスの生成には時間とスペースがかかります。
結合 (結合) インデックス: mysql の効率をさらに向上させるために、「左端のプレフィックス」の原則に従って複合インデックスを確立できます。
ここでは一意のインデックスについて見ていきます。
前に、特別な一意のインデックスである主キー インデックスについて説明しました。この 2 つの違いは、主キー インデックスは NULL 値を持つことができないが、一意のインデックスは NULL 値を持つことができることです。
1: 基本的な使用法
1: 一意のインデックスは単一列または複数列にすることができます。作成ステートメントを見てみましょう:
# 创建单列唯一索引 alter table sc add unique (name); # 创建多列唯一索引 alter table sc add unique key `name_score` (`name`,`score`);
2: 一意のインデックス ステートメントを削除します:
alter table sc drop index name;
ここにコード スニペットを挿入します
2: 一意のインデックスの役割
1: 最大の用途データベースに書き込まれるデータが一意の値であることを確認することです。
単一列の一意の値は、基本的に主キーです。
一般的に使用されるのは、複数列の一意のインデックスです。たとえば、ユーザーは現在の製品のうち 1 つのアイテムのみを購入できます。ユーザー ID 列と製品 ID 列を一意のインデックスとして設定します。これにより、ユーザーが繰り返し購入することを防ぐことができます。
推奨学習: mysql ビデオ チュートリアル
以上がmysqlに一意のインデックスを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。