Maison >base de données >tutoriel mysql >Comment appliquer l'unicité sur plusieurs colonnes dans MySQL ?

Comment appliquer l'unicité sur plusieurs colonnes dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-26 12:12:10423parcourir

How to Enforce Uniqueness Across Multiple Columns in MySQL?

Spécification de contraintes uniques pour plusieurs colonnes dans MySQL

Dans MySQL, vous pouvez créer une contrainte unique sur une table pour garantir qu'aucune ligne n'a des valeurs identiques pour un élément spécifié. ensemble de colonnes. Ceci est utile pour maintenir l'intégrité des données et appliquer l'unicité entre différents enregistrements.

Considérez le tableau suivant :

CREATE TABLE votes (
    id INT NOT NULL AUTO_INCREMENT,
    user VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    address VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
);

Pour créer une contrainte unique qui s'applique aux colonnes utilisateur, e-mail et adresse. , vous pouvez utiliser la syntaxe suivante :

ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);

L'instruction ALTER TABLE permet de modifier le schéma de la table existante. La clause ADD UNIQUE crée une nouvelle contrainte unique nommée unique_index. Les colonnes spécifiées entre parenthèses sont celles qui seront incluses dans la contrainte.

Après avoir exécuté cette instruction, la base de données MySQL appliquera la contrainte unique sur les colonnes spécifiées. Cela signifie que toute tentative d'insertion d'une nouvelle ligne avec des valeurs identiques pour l'utilisateur, l'e-mail et l'adresse entraînera une erreur SQL et la ligne ne sera pas ajoutée à la table.

En implémentant des contraintes uniques, vous pouvez assurez l'intégrité et l'exactitude de vos données en interdisant les valeurs en double dans les colonnes désigné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!

Déclaration:
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