32 votes

SQL Server 2005 Contrainte unique sur deux colonnes

Comment pouvez-vous ajouter une contrainte unique dans SQL Server 2005 à deux colonnes? Donc disons que j'ai:

PK, A, B ...
x1  1  1
x2  1  2
x3  2  1
x4  2  2

Je ne devrais pas être en mesure d'ajouter une autre ligne 'x5' et ont les valeurs de A et B 1,1 car ils sont déjà dans la base de données en x1?

Ok, nous avons réussi à le faire fonctionner, et grâce à l'OMG. Aller à la vue du tableau, sélectionnez les deux colonnes, cliquez droit et sélectionnez "index des touches" - onglet général, sélectionnez les colonnes que vous souhaitez pour être uniques et puis set 'unique' pour de vrai. C'est en utilisant le concepteur de table.

Merci.

37voto

AdaTheDev Points 53358
ALTER TABLE YourTable
ADD CONSTRAINT UQ_YourTable_ConstraintName UNIQUE(A, B)

35voto

OMG Ponies Points 144785

Dans SQL Server, une contrainte unique est réellement implémentée comme un index unique. Utilisation:

 CREATE UNIQUE INDEX uix_name ON table(A, B)
 

Pour plus d'informations, consultez cette page MSDN .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X