Maison >base de données >tutoriel mysql >Comment ajouter un index unique commun à l'aide de MySQL
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.
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` )
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 :
Index conjoint unique
Syntaxe : créer index unique Nom sur le nom de la table (nom du champ)
Remarque : Ne mettez pas le nom de l'index, le nom de la table et le nom du champ entre guillemetsExemple :
create unique index secondIndex on student(id, name, address);
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!