ホームページ >データベース >mysql チュートリアル >MySQL を使用してジョイントユニークインデックスを追加する方法

MySQL を使用してジョイントユニークインデックスを追加する方法

王林
王林転載
2023-05-28 11:48:444365ブラウズ

結合一意インデックス

結合一意インデックスはプロジェクトで使用する必要があります:

例:次の要件があります:各ユーザーは 1 日に 1 つのレコードのみを生成できます。プログラム契約、データベース自体も設定できます:

例: t_aa テーブルには 2 つのフィールド aa と bb があります。2 つの同一のレコード (つまり、aa の値) を持ちたくない場合は、フィールドは繰り返すことができます。bb フィールドの値も繰り返すことができます。ただし、レコードの結合値 (aa、bb) は繰り返すことができません)、複数のフィールドの結合一意インデックスを追加する必要があります。 t_aa テーブル:

alter table t_aa add unique index(aa,bb);

例:

alter table use_info add unique index agd(user_account_id,game_id,daily_date);
alter table user_info add unique key agdkey(user_account_id,game_id,daily_date);

このように、同じレコードをテーブルに追加すると、エラー メッセージが返されます。

ただし、Insert into…ON DUPLICATE KEY UPDATE… とともに使用すると、エラーは報告されません。同じレコードが存在する場合、そのレコードは直接無視されます。

例:

 INSERT INTO unit (
    id,
    unitsubclass,
    name,
    state
)
VALUES('1111','CPU','CPU','0' ) ON DUPLICATE KEY UPDATE       unitsubclass=VALUES(unitsubclass),name =VALUES(name),state =VALUES(state)

別の状況として、前のテーブルにこのインデックスを作成する必要があります。前のデータに重複レコードがある可能性がある場合はどうすればよいですか?

alter ignore table t_aa add unique index(aa,bb);

重複レコードを削除し (1 つは保持されます)、効率的で使いやすい一意のインデックスを作成します。

拡張機能拡張:

ビュー インデックス:

データベース テーブル名からインデックスを表示

テーブル データベースの追加インデックス インデックス名 (データベースフィールド名) PRIMARY KEY (主キーインデックス):

ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引);

ALTER TABLE table_name ADD UNIQUE (列) INDEX (通常のインデックス):

ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

FULLTEXT (フルテキストインデックス):

ALTER TABLE `table_name` ADD FULLTEXT ( `column` )

複数列インデックス:

ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

添付ファイル: コマンドを使用して mysql でジョイント インデックスを作成する方法

#共通ジョイント インデックス #構文:

テーブル名 (フィールド名) にインデックスインデックス名を作成します

#例:

create index firstIndex on student(id, name, address);
注:

インデックス名、テーブル名、およびフィールド名を引用符で囲むことはできません
  • ##結合インデックスの場合は、英語のカンマで区切って複数のフィールド名を指定できます

  • 通常のインデックス データを繰り返すことができます

  • 結果:

ユニークなジョイントIndex

MySQL を使用してジョイントユニークインデックスを追加する方法

構文:

テーブル名 (フィールド名) に一意のインデックスのインデックス名を作成

例:
create unique index secondIndex on student(id, name, address);

注意:

インデックス名、テーブル名、フィールド名を引用符で囲まないでください。

  • ジョイント インデックスの場合は、複数のインデックスを使用できます。フィールド名を中央で区切ります。英語のカンマを使用して区切ってください。

  • 一意のインデックス データを繰り返すことはできません。

  • 結果:

  • #

以上がMySQL を使用してジョイントユニークインデックスを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。