唯一索引
唯一索引不允许两行具有相同的索引值。
主键索引
主键索引是唯一索引的特殊类型。
数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。
在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
它们的一些比较:
(1)对于主健/unique constraint , oracle/sql server/mysql等都会自动建立唯一索引;
(2)主键不一定只包含一个字段,所以如果你在主键的其中一个字段建唯一索引还是必要的;
(3)主健可作外健,唯一索引不可;
(4)主健不可为空,唯一索引可;(有的可以多个null,有的不可以,如mysql,oracle )
(5)主健也可是多个字段的组合;
(6)主键与唯一索引不同的是:
a.有notnull属性;(但是正常我们要设置为not null)
b.每个表只能有一个。(primary key (id,name)这种形式叫复合主键(下一篇文章有比较详细的介绍复合主键和联合主键))