J'ai un (simplifié) tableau composé de trois colonnes:SQL - Comment appliquer une contrainte "semi-unique"?
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
foreignID INT NOT NULL,
name VARCHAR NOT NULL
Fondamentalement, je voudrais ajouter une contrainte (au niveau de la base de données plutôt qu'au niveau de l'application) où il possible que pour un unique » name 'existe par foreignID. Par exemple, compte tenu des données (id, foreignid, nom):
1,1,Name1
2,1,Name2
3,1,Name3
4,2,Name1
5,2,Name2
Je veux la contrainte à l'échec si l'utilisateur tente d'insérer une autre « Nom3 » sous foreignId 1, mais réussir si l'utilisateur tente d'insérer ' Name3 'sous foreignId 2. Pour cette raison, je ne peux pas simplement rendre toute la colonne UNIQUE.
J'ai de la difficulté à trouver une expression SQL pour y parvenir, quelqu'un peut-il m'aider?
Merci
Hé des thats cool, je ne savais pas qu'on pouvait faire ça! Merci! –