保持多列组合的唯一性

时间:2013-06-14 16:21:35

标签: mysql sql

我对基本的sql设置有疑问 例如

id lastname firstname
1  water    bob   
2  zet      ken
3  tem      nick
4  tem      ken
5  zet      nick

我不需要在每列上设置唯一键, 我想保持两列组合

的无条件

例如

6 water nick  // is OK

6 zet nick  // should be banned(it is identical to row5)

有没有办法在Mysql上设置这个条件?

2 个答案:

答案 0 :(得分:1)

add unique index(lastname, firstname)

它被称为复合唯一键。

答案 1 :(得分:0)

在firstName,lastname的组合上创建另一个键(唯一索引或唯一约束)。这称为自然键,而不是您所拥有的id列,称为代理键。