admin 发表于 2020-11-3 13:31:48

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));
    2.已有表修改为组合索引
alter table 表名 add index index_name (name,sex,number); *如果执行上面操作提示表不能有多个主键错误时,需要先清理主键约束,再执行添加。
alter table 表名 DROP PRIMARY KEY add primary key (字段1,字段2,字段3);    3.适用场景举例
    文章管理中的章节、小节、页码字段形成组合索引,索引先会找到章节再找到对应的小节,这样就提高了查询的效率。
页: [1]
查看完整版本: mysql表的组合主键