Maison > base de données > tutoriel mysql > Comment appliquer des contraintes uniques sur plusieurs colonnes dans MySQL ?

Comment appliquer des contraintes uniques sur plusieurs colonnes dans MySQL ?

Susan Sarandon
Libérer: 2024-12-16 16:37:10
original
385 Les gens l'ont consulté

How to Enforce Unique Constraints Across Multiple Columns in MySQL?

Spécification de contraintes uniques pour plusieurs colonnes MySQL

Dans le contexte de la gestion de bases de données MySQL, la contrainte unique d'une table garantit qu'aucune ligne ne contient des éléments identiques valeurs pour un ensemble spécifié de colonnes. Pour appliquer une telle contrainte, nous utilisons les commandes ALTER TABLE et ADD UNIQUE conjointement.

Synopsis :

ALTER TABLE <table_name> ADD UNIQUE <index_name>(<column1>, <column2>, ...)
Copier après la connexion

Exemple :

Considérez le tableau suivant schéma :

table votes (
    id,
    user,
    email,
    address,
    primary key(id),
);
Copier après la connexion

Pour garantir que la combinaison des colonnes utilisateur, e-mail et adresse est unique, nous pouvons exécuter la commande suivante :

ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);
Copier après la connexion

Explication :

  • L'instruction ALTER TABLE modifie le schéma de la table en ajoutant un contrainte.
  • La clause ADD UNIQUE spécifie que les colonnes spécifiées (utilisateur, e-mail, adresse) doivent avoir des valeurs uniques sur toutes les lignes.
  • L'index_unique est un nom personnalisé attribué à l'index.

En implémentant cette contrainte, MySQL garantit qu'il ne peut pas y avoir plusieurs lignes avec des combinaisons identiques d'utilisateur, d'e-mail et d'adresse, évitant ainsi les doublons. entrées.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal