Mysql中的表与唯一字段

时间:2014-02-17 19:30:46

标签: mysql sql database dml

我在Mysql中有一个表,其中包含以下字段:

CREATE TABLE table_1(
camp_1 boolean,
tree varchar(50),
name varchar(50),
serv varchar(50),
number varchar(50),
PRIMARY KEY (camp_1, tree, name)
);
那时我可以有类似的东西:

select* from table_1

aa, bb, cc, null, 123
dd, ee, ff, null, 512

问题是我需要当serv为null时,我的主键就像(或者我需要三个唯一值):camp_1, tree, name

如果serv不为null,我需要插入类似的东西:

select* from table_1

aa, bb, cc, ddd, 123
aa, bb, cc, ert, 123
dd, ee, ff, null, 512

这样,如果serv不为null,我可以将camp_1,tree,name两次或多次(aa,bb,cc出现2次)具有不同的值,但如果serv不为null,则不能有camp_1,tree ,名称(dd,ee,ff只有1次),值超过1。

我尝试使用索引,但找不到,因为我无法在主键中插入null。

有什么能帮到我吗?

0 个答案:

没有答案