阅读模式:

mysql表的组合主键

查看:19379  回复:0  类型:  来源:php自学网  标签 mysql

        mysql表的组合索引是由表的多列字段值的拼接成的主键,来形成唯一性。和以往单个列的普通主键如id(自增长)的区别是一个字段主键和多个字段的区别。

        组合索引就是复合索引。

        如果一个表有id,name,sex,nunber三个字段,那普通主键表的主键为id值区分唯一性。联合主键为name+number值来区别唯一性,或name+sex+number拼接的值来区分唯一性。

组合索引

    1.新建表的设置

create table test(
    id int(10) not null auto_increment,
    name varchar(20) not null,
    sex int(1) not null,
    primary key (id,name,sex)
);

mysql复合主键.png

    2.已有表修改为组合索引

alter table 表名 add index index_name (name,sex,number);

 *如果执行上面操作提示表不能有多个主键错误时,需要先清理主键约束,再执行添加。

alter table 表名 DROP PRIMARY KEY add primary key (字段1,字段2,字段3);

    3.适用场景举例

    文章管理中的章节、小节、页码字段形成组合索引,索引先会找到章节再找到对应的小节,这样就提高了查询的效率。

分享到:
0 5

发布评论:


登录:
  表情:
提交