什么是主键索引?

时间:2024-03-09 15:47:47

概念

主键索引是一种特殊的唯一索引,一个表只能有一个主键且不允许有空值;索引列只能出现一次且必须唯一。

创建形式

InnoDB 的数据文件本身需要按照主键聚集,所以数据表必须有主键。

1、创建数据表的时候,指定主键。

create table `user` (`user_id` int(11) usigned primary key auto_increment) engine=InnoDB;

2、修改数据表,指定主键。一张表只能有一个主键,如果表中已经存在主键,则会报错。

alter table `user` add primary key (`user_id`);

3、如果没有显示创建主键,但是数据表中存在唯一索引,那么默认会选择唯一索引作为主键。

4、如果没有显示创建主键,并且数据表也没有唯一索引,那么会自动为数据表创建一个隐含的字段 row-id 作为主键,这个字段为 6 字节的长整型。

小结

本文主要是介绍了主键索引的定义,以及主键索引的显示和隐示创建方式。其实,主键索引主要是为了聚集数据,最终目的也就是为了加速数据的查询。