ホームページ >データベース >mysql チュートリアル >MySQL を使用してジョイントユニークインデックスを追加する方法
結合一意インデックスはプロジェクトで使用する必要があります:
例:次の要件があります:各ユーザーは 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` )
#共通ジョイント インデックス #構文:
テーブル名 (フィールド名) にインデックスインデックス名を作成します注: インデックス名、テーブル名、およびフィールド名を引用符で囲むことはできません#例:
create index firstIndex on student(id, name, address);
テーブル名 (フィールド名) に一意のインデックスのインデックス名を作成
例:インデックス名、テーブル名、フィールド名を引用符で囲まないでください。create unique index secondIndex on student(id, name, address);注意:
以上がMySQL を使用してジョイントユニークインデックスを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。