2009-08-22 4 views
0

Dans mysql puis-je définir une condition qu'une combinaison de deux champs ne peut jamais être la même ??? Exemple:
id-1
nom abc
grade A
Maintenant, une autre entrée avec le nom = 'abc' et le grade = 'A' ne peut pas être ajouté dans cette table ????Dans mon état de jeu de sql pour la table?

Répondre

1

Vous pouvez créer un composite primary key de ces deux colonnes, mais peu de sens que la table a déjà un champ d'identification, et sûrement deux personnes du même nom peut avoir le même grade? .: par exemple

CREATE TABLE student_grades ( 
id int unsigned not null, 
name varchar not null, 
grade varchar not null, 
PRIMARY KEY(name, grade)); 

+0

Merci beaucoup .... – halocursed

0

Vous pouvez également ajouter une contrainte UNIQUE secondaire:

CREATE TABLE student_grades ( 
id int unsigned not null, 
name varchar(10) not null, 
grade varchar(10) not null, 
PRIMARY KEY(id), 
UNIQUE KEY(name, grade) 
); 
Questions connexes