J'ai une table avec 4 colonnes
Chaque colonne sera A, B, C, D
La colonne A est la clé primaire. La colonne B a une contrainte de nom unique.
Maintenant, je veux supprimer la contrainte unique pour la colonne B et donner une contrainte unique en combinant les colonnes B, C et D. Ainsi, le tableau n'autorisera qu'une seule ligne avec une valeur particulière dans les colonnes B, C et D.
Comment puis-je donner ce type de contrainte?
J'ai essayé de donner la clé unique composite comme:
ALTER TABLE TABLENAME ADD CONSTRAINT CONSTRAINT_NAME UNIQUE (COLUMN_B, COLUMN_C, COLUMN_D)
Mais il vérifie si l'une des contraintes est présente plutôt que de vérifier la combinaison d'une contrainte de clé unique.
Créez une clé unique sur ces colonnes
ALTER TABLE YourTable
add CONSTRAINT YourTable_unique UNIQUE (B, C, D);
Tout d'abord, vous devez supprimer une contrainte existante en utilisant ci-dessous ALTER Query.
ALTER TABLE table_name
DROP CONSTRAINT myUniqueConstraint;
Maintenant, vous pouvez créer une contrainte UNIQUE en utilisant le mot-clé UNIQUE avec la combinaison des colonnes requises.
Par exemple:
ALTER TABLE table_name
ADD CONSTRAINT myUniqueConstraint UNIQUE(B, C, D);
ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte;
CREATE UNIQUE INDEX nom_contrainte ON nom_table (B, C, D)