primary key 和unique key
在实际工作中,查看表设计总能看到这样的情况,一个primary,一个unique,还有一个key;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` char(50) NOT NULL DEFAULT '' COMMENT 'uid',
`type` mediumint(1) NOT NULL,
PRIMARY KEY (`id`),
KEY `type` (`type`),
UNIQUE KEY `uid` (`uid`)
)
primary key 是主键的意思,那unique和key是什么意思呢?于是上网查了查,具体是这样说的。
先说key
如果只是key的话,就是普通索引;mysql的key和index多少有点令人迷惑,单独的key和其它关键词结合的key(primary key)实际表示的意义是不同,这实际上考察对数据库体系结构的了解的。
key 是数据库的物理结构,它包含两层意义和作用:
一是约束(偏重于约束和规范数据库的结构完整性),
二是索引(辅助查询用的)。
包括primary key, unique key, foreign key 等。
primary key
有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性