mysql peut définir la valeur de la ligne pour qu'elle soit unique en ajoutant une contrainte unique à la ligne (champ). Le format de syntaxe est "CREATE TABLE nom de la table (type de données du nom de champ UNIQUE);" name ADD CONSTRAINT contrainte unique Name UNIQUE (nom de la colonne);".
(Tutoriel recommandé :Tutoriel vidéo MySQL)
Les champs qui définissent la clé primaire dans la conception de la base de données sont non répétitifs et uniques. S'il existe d'autres champs qui doivent également être uniques, comment doivent-ils être définis ? Par exemple, une table qui stocke les informations utilisateur doit garantir que le numéro de téléphone mobile de chaque enregistrement est différent. À ce stade, vous devez définir l’unicité de ce champ.
Après avoir paramétré l'unicité du champ, il est garanti au niveau de la base de données que le champ n'aura pas la même valeur. Parlons de la façon de définir l'unicité :
1 Ajoutez
CREATE TABLE `member` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(18) NOT NULL , `phone` varchar(18) NOT NULL unique, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
lors de la création de la table 2. Modifiez
alter table member add unique(phone);
Lors de la conception de la table : sélectionnez l'index comme. Comme indiqué sur la figure, le premier élément « nom », vous pouvez le choisir vous-même. Un nom significatif fera l'affaire. Le deuxième élément est le champ dont vous souhaitez définir l'unicité, puis sélectionnez unique comme type d'index.
Sélectionnez le nom de la table à modifier, faites un clic droit pour sélectionner la table de paramétrageProblèmes fréquemment rencontrés
Si l'unicité est ajoutée plus tard (une fois le tableau conçu et qu'il y a déjà des données dans le tableau)
Il peut y avoir des situations où certaines données du tableau ne satisfont pas à l'unicité, par exemple exemple : vous souhaitez définir l'unicité du téléphone de terrain, mais il y a actuellement deux téléphones de données dans le tableau, qui ont tous deux le même numéro de téléphone mobile. Il s'agit d'une erreur lors de la définition de l'unicité.
Comme le montre l'image ci-dessus (cette situation se produira également sous une opération en ligne de commande, mais sous forme de texte)
À ce stade, les données en double doivent être supprimées, puis l'unicité peut être définie.
Ici, seul chaque numéro de téléphone mobile peut correspondre. un seul nom, c'est-à-dire que la combinaison du nom et du téléphone ne peut pas être répétée, c'est-à-dire qu'il ne peut pas y avoir deux enregistrements portant le même nom et le même téléphone.
Comment le paramétrer dans mysql ? Ici nous donnons uniquement la méthode dans navicat : comme le montre la figure, il vous suffit de sélectionner deux champs !
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!