在我的表的SQL设置条件?

时间:2009-08-22 22:30:27

标签: mysql database

在mysql中我可以设置一个条件,两个字段的组合永远不能相同??? 例如:
ID-1
名称ABC
A级
现在,名称='abc'和grade ='A'的另一个条目无法添加到该表中????

2 个答案:

答案 0 :(得分:1)

您可以从这两列创建composite primary key,但这没有任何意义,因为该表已经有一个ID字段,并且肯定有两个同名的人可以拥有相同的等级? e.g:

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

答案 1 :(得分:0)

您还可以添加辅助UNIQUE约束:

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)
);