MySQL主键与唯一索引的核心区别如下:
-
唯一性 + 非空性
主键:强制唯一且不允许NULL值。
唯一索引:强制唯一但允许单个NULL值(根据唯一约束)。 -
数量限制
每张表只能有一个主键;
可创建多个唯一索引。 -
功能特性
主键默认是聚簇索引(InnoDB),决定数据物理存储顺序;
唯一索引是非聚簇索引,仅保证数据唯一性。 -
关系依赖
主键常被用作外键引用;
唯一索引无此特性。 -
隐式创建
定义主键时自动创建同名唯一索引;
唯一索引需显式创建。
⚡️ 总结:主键 = 唯一 + 非空 + 聚簇索引(InnoDB)+ 表级唯一标识;唯一索引 = 唯一约束 + 允许NULL + 普通索引结构。
1146

被折叠的 条评论
为什么被折叠?



