OVH Cloud OVH Cloud

Rendre deux colonnes uniques

3 réponses
Avatar
Vincent Poirier
Bonjour, j'ai une table du type :
id
label
nombre

J'aimerai modifier cette table via un script sql pour que le couple label et
nombre soit unique.
Par exemple le couple de valeurs label="pomme" et nombre="12" ne soient
presente qu'une fois.

Merci de votre aide, je maitrise mal le sql.

3 réponses

Avatar
Laurent Moreau
CREATE UNIQUE INDEX [LeNomDeMonIndex] ON [LaTable]([label], [nombre])

Sinon par entreprise manager, bouton droit sur la table, toutes taches,
gérer les index, nouvel index,....

Attention: l'index refusera de se créer si il existe déja des doublons.


Laurent.



"Vincent Poirier" wrote in message
news:
Bonjour, j'ai une table du type :
id
label
nombre

J'aimerai modifier cette table via un script sql pour que le couple label


et
nombre soit unique.
Par exemple le couple de valeurs label="pomme" et nombre="12" ne soient
presente qu'une fois.

Merci de votre aide, je maitrise mal le sql.




Avatar
Vincent Poirier
SQL Serveur me renvoi une erreur avec ces deux methodes : Create unique
Index terminated because a duplicate key was found for index ID 28.

Je pense que c'est du à l'index de la clef primaire...

Est-ce cela ? Si oui puis avoir deux index ?
Avatar
Laurent Moreau
Comme je te le disais:
Attention: l'index refusera de se créer si il existe déja des doublons.

Supprime en premier tes doublons avant de créer l'index.
Requete pour trouver tes doublons:
SELECT label, nombre, count(*) AS quantite
FROM LaTable
GROUP BY label, nombre
HAVING COUNT(*)>1



Laurent.


"Vincent Poirier" wrote in message
news:
SQL Serveur me renvoi une erreur avec ces deux methodes : Create unique
Index terminated because a duplicate key was found for index ID 28.

Je pense que c'est du à l'index de la clef primaire...

Est-ce cela ? Si oui puis avoir deux index ?