Maison >base de données >tutoriel mysql >Comment ajouter un index unique commun à l'aide de MySQL

Comment ajouter un index unique commun à l'aide de MySQL

王林
王林avant
2023-05-28 11:48:444370parcourir

Index unique commun

Un index unique commun doit être utilisé dans le projet :

Par exemple : Il existe les exigences suivantes : Chaque personne ne peut produire qu'un seul enregistrement par jour : En plus de l'accord de programme, la base de données elle-même peut également être défini :

Par exemple :t_aa Il y a deux champs aa et bb dans le tableau Si vous ne souhaitez pas avoir deux enregistrements identiques (c'est-à-dire : la valeur du champ aa peut être répétée ; la valeur du champ bb. peut également être répété, mais la valeur combinée d'un enregistrement (aa, bb) n'est pas la duplication autorisée), vous devez ajouter un index unique commun de plusieurs champs à la table t_aa :

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

Par exemple :

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);

In de cette façon, si vous ajoutez le même enregistrement à la table, un message d'erreur sera renvoyé.

Mais lorsqu'il est utilisé avec Insert into…ON DUPLICATE KEY UPDATE…, aucune erreur ne sera signalée si le même enregistrement existe, il sera directement ignoré.

Exemple :

 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)

Une autre situation est que nous devons créer cet index pour la table précédente. Il peut y avoir des enregistrements en double dans les données précédentes, alors que devons-nous faire ?

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

Cela supprimera les enregistrements en double (ce sera le cas). conservez-les) un), puis créez un index unique, efficace et convivial.

Extension d'extension :

Afficher l'index :

afficher l'index du nom de la table de la base de données

alter la base de données de la table ajouter le nom de l'index (nom du champ de la base de données) PRIMARY KEY (index de clé primaire) :

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

ALTER TABLE nom_table ADD UNIQUE (colonne) INDEX (index ordinaire) :

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

FULLTEXT (index de texte intégral) :

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

Index multi-colonnes :

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

Pièce jointe : Comment utiliser les commandes pour créer un index conjoint dans MySQL

Index conjoint ordinaire

Syntaxe :

créer un nom d'index sur le nom de la table (nom du champ)

Exemple :

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

Remarque :

  • N'utilisez pas de guillemets dans le nom de l'index, le nom de la table, le nom du champ

  • Pour l'index conjoint, il peut y avoir plusieurs noms de champs, séparés par des virgules anglaises

  • Les données d'index ordinaires peuvent être répétées

Résultat :

Comment ajouter un index unique commun à laide de MySQL

Index conjoint unique

Syntaxe : créer index unique Nom sur le nom de la table (nom du champ)

Exemple :

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

Ne mettez pas le nom de l'index, le nom de la table et le nom du champ entre guillemets
  • Pour un index conjoint, le champ le nom peut être multiple, séparez-les simplement par des virgules anglaises
  • Les données d'index uniques ne peuvent pas être répétées
  • Résultat :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer